linux常用命令
linux软件的安装,更新与卸载
Linux常用命令大全
每天一个linux命令目录
Linux 新手学习资料
IptablesHowTo
ubuntu iptables设置
CentOS中如何安装7ZIP
Linux系统信息查看命令大全
Linux计划任务crontab实例详解
Linux中启动或禁止用户使用SSH登录
linux下定时执行任务的方法 crontab 用法说明
linux screen 命令详解
Linux命令大全搜索工具 && 网站 && 命令列表
ls
DOS命令中的dir,列出当前目录文件。(注:dir在linux中也可以使用)ls
(列出目录文件)ls -l |more
(目录过多分屏显示)ls -a
显示隐藏文件ls -l
显示比ls -a更详细的文件资料ls -F
列出文件目录名称后会加一些符号
cd
进出目录如window下的dos
cd命令不仅显示当前状态,也可以改变当前状态,linux中的cd与DOS中类似。cd /home/wwwroot
(进入/home/wwwroot目录)cd /
(进入根目录)cd -
返回进入此目录之前所在的目录cd ..
返回上一级目录,中间有空格cd ~
回当前用户根目录
mkdir w
如新建w目录rmdir w
删除w目录
cp
如DOS下的copycp -r
连同整个目录中的子目录一起拷贝cp a.tar.g /home
(复制目录下的a.tar.gz到home目录,可一次多选,在cp后面添加文件名就可以)
rm
rm -i test
删除名字为test的文件(有提示)rm -r test
删除连同test目录下的所有文件(文件夹)rm -f test
删除test不经过确认强制删除文件
rm是linux中的删除命令。
rm a.tar.gz
(删除a.tar.gz,之后出现确认,输入y)rm –r
(删除目录逐一确认)rm –rf
(强制删除,不确认)
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。
直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
mv
移动,还多了重命名功能。mv /tmp/aa.rar /root
将/tmp目录下的aa.rar文件移动到root目录下mv aa.rar bb.rar
将aa.rar更名为bb.rar
cat
显示或链接一般ascii文件cat text
显示test文件的内容cat file1 file2
依顺序显示file,file2的内容cat file1 file2>file3
将file1,file2的内容结合起来再重向到file3文件中
more
显示,文件过长时比cat好
pwd
显示文件路径
用户和组管理
w
显示在线用户useradd new
新建new用户,会在home目录下创建一个new的目录useradd name -g root -G www -d /home/3w -p 123
新建name用户,首要组为root,次要组为www,Home目录为/home/3w 密码为123
userdel new
删除new用户
groupadd www
新建一个www用户组groupadd www
删除已存在的www用户组
passwd www
更改www密码,按提示输入密码,密码不显示
su www普通用户拥有超级管理员的权限
或者超级管理员以普通用户做一些事,离开当前用户的身份用exit
Linux给普通用户增加ssh权限
inux系统安装好,建立普通用户后,普通用户不一定能通过ssh连接到服务器
可以在/etc/ssh/sshd_config中增加AllowUsers:username(可以多个,空格分开)给普通用户增加ssh权限
useradd -g www web #新添加web用户到www组
passwd web #设置web密码
在PermitRootLogin yes下面添加
AllowUsers:web
重启ssh
sudo service sshd restart
service ssh start
Ubuntu下添加新用户没有生成用户目录解决如下
:
sudo mkdir /home/user
#这里的/home/user里的user最好改成跟你原来用户名一样sudo chown -R user:user /home/user
#这里的user:user要改成你之前的“用户名:用户组”的格式sudo chmod -R 755 /home/user
#这里权限给755
chmod
改变权限
用法chmod who 符号 mode 文件(夹)名
who
u 用户 即文件(夹)的所有者
g 同组用户 即与文件属主有相同组ID的所有者
o 其他用户
a 所有者,系统默认值
符号
+添加权限
-取消权限
=赋予给定的权限并取消其他所有权限
mode
r 读写
w 可写
x 可执行
如:chmod =rx www
回车
输入ls -l www
回车查看文件属性
-r-xr-xr-x 1 user group 0 Feb 10 09:42 www
chmod u=rwx,g=r,o= www
(,后无空格,o=后有空格)
将www的权限设为文件属主可读,可写,可执行
与文件属主同组的用户可读,其他用户不可读
chown
改变属主和属组chown a:b www
将www的属主改为a,属组改为b
将一个文件夹下的所有文件和文件夹更改用户和用户组
chown -hR username:groupname ./目录名
其中:h表示对符号链接也起作用;
R表示对所有子文件也起作用;
后面的用户名和组名用冒号分割;
最后是要修改的目标文件夹;
如有疑惑,在终端 man chown
进程任务管理命令
Screen
yum -y install screen #安装Screen
screen -S one #开启一个screen对话
screen -r one 打开一个已知开启的对话
解决screen状态为Attached连上不的问题
当你挂起screen,下次想连上screen的时候,
有时候会出现screen session的状态为Attached而怎么连也连不上的情况。
下面给出解决方法。
列出状态为Attached的session id。
screen -ls
screen -D -r <session-id>
解释:-D -r 先踢掉前一用户,再登陆。
ps
进程查看命令ps -e
所有进程ps -f
全格式ps -l
长格式ps -aux
进程状态查询命令ps -aux | grep nginx
在所有进程中,查找nginx的进程kill 1234
1234为进程ID,即ps -aux 中的PIDkillall nginx
killall 通过程序的名字,直接杀死所有进程,nginx为进程名
ps命令输出字段的含义:
[list]
[*]USER,进程所有者的用户名。
[*]PID,进程号,可以唯一标识该进程。
[*]%CPU,进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。
[*]%MEM,进程使用内存的百分比。
[*]VSZ,进程使用的虚拟内存大小,以K为单位。
[*]RSS,进程占用的物理内存的总数量,以K为单位。
[*]TTY,进程相关的终端名。
[*]STAT,进程状态,用(R--运行或准备运行;S--睡眠状态;I--空闲;Z--冻结;D--不间断睡眠;W-进程没有驻留页;T停止或跟踪。)这些字母来表示。
[*]START,进程开始运行时间。
[*]TIME,进程使用的总CPU时间。
[*]COMMAND,被执行的命令行。
[/list]
ps显示如
PID进程ID
TTY终端名称
TIME进程执行时间
CMD命令行输入
ps -ef显示
UID执行进程的用户ID
PID进程ID
PPID父进程ID
STIME进程启动时间
ps -ef|grep root
只显示包含root的输出行,查看用户为root的所有进程
top
显示系统当前的进程和其他状态,动态显示过程
top执行过程中使用交互命令:
空格 立即刷新显示
h或?显示帮助画面给出简短命令总结说明
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c q切换显示命令名和完整命令行
M根据驻留内存大小进行排序
P 根据CPU使用百分比大小进程排序
q退出
kill
终止进程kill 【-s 信号】 进程号
如kill -9 123
终止PID(进程号)为123的进程kill -l
显示信号列表
service
service <service>
打印指定服务
service <service> start
启动指定的系统服务
service <service> stop
停止指定的系统服务
service <service> restart
重新启动指定的系统服务
chkconfig --list
查看系统服务列表,以及每个服务的运行级别。
chkconfig <service> on
设置指定服务
chkconfig <service> off
设置指定服务
ntsysv
以全屏幕文本界面设置服务开机时是否自动启动。
iptables
所在目录 /etc/sysconfig/iptablesservice iptables status
查看iptables状态service iptables restart
iptables服务重启service iptables stop
iptables服务禁用
Linux防火墙iptables入门教程
iptables常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链
把开机启动的脚本配置到/etc/rc.d/rc.local中
磁盘及文件系统管理命令
资源占用查询:
free -m / 查看内存核swap使用情况 /
top / 查看程序的cpu、内存使用情况 /
netstat -ntl / 查看端口占用情况 /
df
显示目前磁盘剩余空间df -h
查看磁盘剩余空间df -k
显示各分区的磁盘空间使用情况df -sh /home/wwwroot/*
查看/home/wwwroot/下各个目录的占用大小
mount和umount
如mount -a
挂载软驱和光驱:mount /mnt/cdrom mount /mnt/floppyumount -f /mnt/cdrom
强制卸载挂载在/mnt/cdrom目录下
tgz
1 将tgz文件解压
到指定目录
tar zxvf test.tgz -C 指定目录
比如将/source/web.tgz解压到 /source/web 目录
tar zxvf /source/web.tgz -C /source/web
// zxv是键盘左下角相隔不远的几个键,比较好记
2 将指定目录压缩
到指定文件
比如将web目录压缩到web.tgz
tar zcvf web.tgz web // zcv是键盘左下角相隔不远的几个键,比较好记
3.cd 指定文件夹
tar zcvf web.tgz ./ //即可将当前文件夹打包为web.tgz
tar
tar [选项] 文件名
选项
-c 创建一个新的档案文件
-t 查看档案内容
-f 制定档案名称
-v 显示进程信息
-z 采用压缩方式tar cvf a.tar.gz *.*
(将当前目录所有文件打包,压缩为文件名a.tar.gz)tar cvf a.tar.gz /home
(将home文件夹下所有文件打包,压缩为文件名a.tar.gz)tar xvf a.tar.gz
(将a.tar.gz解压至当前文件夹,亦可用zxvf)tar -zxvf a.tar.gz
tar tvf a.tar.gz
(浏览a.tar.gz压缩包中的文件)tar xvf wordpress.tar
解压tar格式的文件tar tvf myfile.tar
查看tar文件中包含的文件tar cf toole.tar tool
把tool目录打包为toole.tar文件tar zcf vpser.tar.gz tool
把tool目录打包且压缩为vpser.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MBtar jcvf /var/bak/www.tar.bz2 /var/www/
创建.tar.bz2文件,压缩率高
tar xjf www.tar.bz2
解压tar.bz2格式
zip/unzip
yum list |grep zip/unzip
yum install unzip
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,
-r表示递归压缩子目录下所有文件.
2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
3.其他zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件
要使用 zip 来压缩文件,在 shell 提示下键入下面的命令:zip -r filename.zip filesdir
在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。
要抽取 zip 文件的内容,键入以下命令:unzip filename.zip
你可以使用 zip 命令同时处理多个文件和目录,
方法是将它们逐一列出,并用空格间隔:zip -r filename.zip file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中
▶在命令行中输入: shutdown -h now
命令 。表示立刻进行关机!
ubuntu默认是不启用root用户也不允许root远程登录的。
所以需要先启用root用户
▶启用root用户:sudo passwd root
修改密码后就启用了
安装OpenSSH server:
- 使用apt命令安装openssh server
sudo apt-get install openssh-server
- 可以对 openssh server进行配置
sudo vi /etc/ssh/sshd_config
▶找到PermitRootLogin no(without password)一行,
改为PermitRootLogin yes
- 重启 openssh server
sudo service ssh restart
- 客户端如果是ubuntu的话,则已经安装好ssh client,
可以用下面的命令连接远程服务器。ssh xxx.xxx.xxx.xxx
常用格式:ssh [-l login_name] [-p port] [user@]hostname
如ssh -l root -p 22 ip
更详细的可以用ssh -h查看。
举例
不指定用户:
ssh 192.168.0.11
指定用户:
ssh -l root 192.168.0.11
ssh root@192.168.0.11
如果修改过ssh登录端口的可以:
ssh -p 12333 192.168.0.11
ssh -l root -p 12333 216.230.230.114
ssh -p 12333 root@216.230.230.114
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。
编辑配置文件:
vim /etc/ssh/sshd_config
找到#Port 22,去掉注释,修改成一个五位的端口:
Port 12333
找到#PermitRootLogin yes,去掉注释,修改为:
PermitRootLogin no
重启sshd服务:
service sshd restart
如果是windows系统的话,
可以使用SSH Secure Shell等ssh软件进行远程连接。
vi(vim)
以下来自http://www.vpser.net/manage/vi.html
是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。
vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。
vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。
在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。
下面vps侦探整理一下vi的使用教程:
包含vi的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等,算是一篇比较适合新手学习vi的教程。
vi有3个模式:插入模式
、命令模式
、低行模式
。
插入模式
:在此模式下可以输入字符,按ESC将回到命令模式。命令模式
:可以移动光标、删除字符等。低行模式
:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。
Vim操作
: vim详细教程:http://www.vpser.net/manage/vi.html
移动类
的:
h/j/k/l: 左/下/上/右 移一格
w : 向后词移动 (前面加数字移动多少个词)
b : 向前词移动 (前面加数字移动多少个词)
e : 向后移到词末
ge : 向前移到词末
$
0
tx : 向右查找本行的x并移到那儿(大写时向左)
33G : 移到文件的第33行
gg : 文件首行
G : 文件尾行
33% : 文件的33%处
H/M/L : 屏幕的首/中/尾行
zt/zz/zb : 当前行移到屏幕的首/中/底部
跳转
:
" : 回到跳转来的地方
CTRL-O : 跳到一个 “较老” 的地方
CTRL-I
查找
:
/ : 向下查找(后加关键字)
? : 向上查找(后加关键字)
n : 下一条符合的记录
编辑
:
i : 转换到插入模式
x : 删除当前字符
. : 重复最后一次的修改操作(同PS里ctrl+f执行滤镜)
u : 撤销操作
CTRL-R : 重做
p : 将删除的字符插入到当前位置(put)
退出保存
:
:q : 退出
:q! : 不保存退出
ZZ : 保存后退出
:e! : 放弃修改重新编辑
一、打开文件、保存、关闭文件(vi命令模式下使用)
vi filename //打开filename文件
:w //保存文件
:w vpser.net //保存至vpser.net文件
:q //退出编辑器,如果文件已修改请使用下面的命令
:q! //退出编辑器,且不保存
:wq //退出编辑器,且保存文件
二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)
a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本
A //在当前行的末尾位置添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
o //在当前行的下面新建一行
R //替换(覆盖)当前光标位置及后面的若干文本
J //合并光标所在行及下一行为一行(依然在命令模式)
三、移动光标(vi命令模式下使用)
1、使用上下左右方向键
2、命令模式下:h 向左、j 向下 、k 向上、l 向右。
空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。
四、删除、恢复字符或行(vi命令模式下使用)
x //删除当前字符
nx //删除从光标开始的n个字符
dd //删除当前行
ndd //向下删除当前行在内的n行
u //撤销上一步操作
U //撤销对当前行的所有操作
五、搜索(vi命令模式下使用)
/vpser //向光标下搜索vpser字符串
?vpser //向光标上搜索vpser字符串
n //向下搜索前一个搜素动作
N //向上搜索前一个搜索动作
六、跳至指定行(vi命令模式下使用)
n+ //向下跳n行
n- //向上跳n行
nG //跳到行号为n的行
G //跳至文件的底部
七、设置行号(vi命令模式下使用)
:set nu //显示行号
:set nonu //取消显示行号
八、复制、粘贴(vi命令模式下使用)
yy //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw //复制从光标开始到词尾的字符。
nyw //复制从光标开始的n个单词。
y^ //复制从光标到行首的内容。 VPS侦探
y$ //复制从光标到行尾的内容。
p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。
九、替换(vi命令模式下使用)
:s/old/new //用new替换行中首次出现的old
:s/old/new/g //用new替换行中所有的old
:n,m s/old/new/g //用new替换从n到m行里所有的old
:%s/old/new/g //用new替换当前文件里所有的old
十、编辑其他文件
:e otherfilename //编辑文件名为otherfilename的文件。
十一、修改文件格式
:set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。
总结:vi(vim)教程虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!
find
find命令用法:find pathname -options [-print -exec -ok ...]
pathname:标示用find命令所查找的文件路径,比如我们可以用. 来表示当前路径目录,且用/来表示系统根目录地址。
print:这样使用find命令将会把匹配的文件按照输出到标准输出。
exec:使用find命令对匹配的文件执行该参数所给出的shell命令。
ok:这个和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令。
find命令实用方法:
检查60分钟内当前目录中.PHP文件被修改过的文件:find . -name '*.php' -mmin -60
这个比较常用于网页文件的检查,是否有被修改的痕迹。
查找当前目录中24小时内修改过的PHP文件:find . -name '*.php' -mtime 0
查找当前目录中以有大写字母开头的文件:find . -name "[A-Z]*" -print
查找www目录中以vps开头的文件:find /www -name "vps*" -print
查到当前目录中具有777权限的文件:find . -perm 777 -print
同样的,我们可以修改检查755或者644权限。
查找当前目录中文件字节数大于1MB的文件:find . -size +1000000c -print
查找文件名为mt.cgi的文件:find mt.cgi
下载
下载nginx-0.8.0.tar.gz:wget http://www.abc.net/nginx-0.8.0.tar.gz
继续下载上次未下载完的文件:wget -c http://soft.vpser.net/web/nginx/nginx-0.8.0.tar.gz
Linux Wget 命令用法
【Linux入门系列】wget 使用探索