Linux常用命令

一、文件处理命令

1. ls

显示当前目录下所有文件。

-a:显示包括隐藏文件在内的所有文件

-l:显示详细信息。ls -l也可写为ll

-d:查看目录属性

-h:人性化显示

2.mkdir

建立目录。

-p:递归创建,即可以以:mkdir -p a/b/c的方式创建一串目录

3.cd

切换目录。cd直接回车或cd ~会进入家目录,cd -进入上次进入的目录,cd ..进入上级目录。

4.pwd

查询当前所在位置。

5.rm

删除文件。如果删除对象为目录,则用rm -r。如果不想让linux询问是否删除,则用rm -rf强制删除。

6.cp

复制文件。cp [选项][原文件或目录][目标目录] 

-r:复制目录

-a:复制全部属性

7.mv 

剪切文件或目录。mv [原文件或目录][目标目录]

如果原文件和目标在同一目录下,则可以实现改名。

8.ln

将原文件生成链接文件。硬链接:ln [原文件或目录][目标目录],软链接:ln -s [原文件或目录][目标目录]

链接分为硬链接和软链接。一个文件的硬链接可以视为该文件的另一个接入点,拥有相同的id号,修改一个后另一个也改变,删除掉一个后另一个仍可使用。不可针对目录使用。

一个文件的软链接类似于创建该文件的快捷方式,拥有自己的id号,修改一个后另一个也改变,删除掉原文件后软链接不可使用。

9.file

file filename:用来查看filename文件的类型。

10.less

less filename:用来查看filename文件的内容。

11.alias

例如alias foo='ls ; cd' 可以自定义foo这一命令,可以使用unalias删除自定义的别名。

重启后,自定义的别名会消失。

12.cat

查看文件内容。

cat > 文件名:手动输入内容并将其录入文件中,以Ctrl+d退出。

13.wc

显示文件中包含的行、字和字节数。

14.head、tail

-n 数字:显示文件的前几行或后几行。

15.touch

将文件的修改和访问时间改为当前时间。

16.sort

对文件内容排序。

sort > 文件名,输入内容后会排序后写入文件。

有多种选项。

-n:按数值排序

-k:指定排序的字段(从第几个字段到第几个字段)

-r:倒序排序

-t:指定字段间的分隔符

17.uniq

对文件去重,只能操作排好序的文件,所以需要与sort连用:

sort 文件名 | uniq

-c:输出计数

18.cut

用于从文件中抽取内容。

-c:数值表示抽取的区间。cut -c a-b 文件名

-f:抽取第几个字段

-d:指定分隔符

19.paste、join

paste将一个文本粘贴到另一个文本中(按行),join类似于关系型数据库,依照两个文本的共有的列将两个文本合并。

paste 文件1 文件2

join 文件1 文件2

20.comm

对两个文件进行比较。comm 文件1 文件2

21.tr

文本替换,需要和管道符连用,如:

less 文件 | tr a-z A-Z 即可将所有小写字母替换为大写字母。

二、文件搜索命令

1.locate

按照文件名搜索文件。locate只能搜索创建一天以上的文件,如果要搜索创建一天以内的文件需要先执行updatedb,之后就能搜索到。locate不会搜索一部分目录(如tmp)。

2.whereis和which

whereis用来搜索命令的位置。which用来搜索命令的位置和别名。

3.find

搜索文件。find [搜索范围][搜索条件]

find /tmp -name abc,即为在tmp目录下搜索文件名为abc的文件。可以使用通配符*(匹配任意个字符)、?(匹配一个字符)、[](匹配括号内的一个字符)。

除-name外,-iname不区分大小写,-user按照所有者搜索,-nouser搜索没有所有者的文件,-mtime修改时间,-size文件大小

也可以搜索多个条件,中间用-a(and)或-o(or)相连。

如需要对结果进行进一步处理,可以在语句后面增加-exec [待执行命令] {} \;

4.grep

在文件中搜索字符串。grep [选项] 字符串 文件名

-v:取反,即不包含

-i:不区分大小写

-l:打印出文件名而不是匹配的字符串

三、帮助命令

1.man

帮助。man 命令

-f:等同于whatis,获取命令的描述。

-k:等同于apropos,获取命令相关的所有命令和文件。

2.help

获得命令的可用选项。命令 --help,或help 命令。

3.type

显示命令的类型。

四、压缩命令

1.zip

zip 压缩文件名 源文件。压缩目录:zip -r 压缩文件名 源文件。

unzip 文件名,解压缩。

2.gz

gzip 源文件,压缩后源文件消失。如需保留,需要:gzip -c 源文件 > 压缩文件。

gzip -r 目录,会将目录中的所有文件压缩。

gunzip 文件名,解压缩。

3.bz2

bzip2 源文件,压缩后源文件消失。如需保留,需要:bzip2 -k 源文件。不能压缩目录。

bunzip2 文件名,解压缩。

4.tar

tar -cvf 文件名 源文件,打包。

tar -xvf 文件名,解包。

tar -zcvf 压缩包名.tar.gz 源文件,先打包再压缩。

tar -zxvf 压缩包名.tar.gz。

tar -jcvf 压缩包名.tar.bz2 源文件,先打包再压缩。

tar -jxvf 压缩包名.tar.bz2。

五、关机和重启

1.shutdown

关机。shutdown [选项] 时间 &。&使程序在后台执行。

-h:关机

-r:重启

-c:取消上一次命令。

2.logout退出。

六、挂载

1.mount

查看挂载的设备。

mount -a,根据配置文件自动挂载。

mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点

2.umount

卸载设备。umount 设备名或挂载点。

七、用户

1.w

查看当前用户信息。

2.last

查看当前和过去登录的用户信息。

3.lastlog

查看所有用户最后一次登录时间。

八、网络

1.netstat

查看当前主机网络连接信息。

-t:列出tcp协议端口。

-u:列出udp协议端口。

-n:使用ip地址和端口号。

-l:列出监听状态的网络服务。

-a:列出所有网络连接。

通过管道符,可以获取所有监听的服务:

netstat -an | grep LISTENING

再加上wc统计数量:

netstat -an | grep LISTENING | wc -l

2.ifconfig

查看与配置网络状态。

ifconfig eth0 192.168.x.x netmask 255.255.255.0,临时配置eth0网卡的ip和子网掩码。

3.setup

不同于ifconfig,setup为永久配置ip和掩码。只有redhat系列才有此命令。

4.通过修改配置文件的方式配置ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0:配置网卡信息文件。

vi /etc/sysconfig/network:配置主机名文件。

vi /etc/resolv.conf:配置DNS文件。

5.ifdown、ifup

ifdown eth0:禁用eth0网卡。

ifup eth0:启用eth0网卡。

6.route -n

查看路由列表,可以显示网关。

7.nslookup

查看域名对应的ip地址,同时可以看见自身的dns。

8.ping

向某域名发送数据包,从而判断该域名的网络状况。

该命令会一直进行下去,用-c 次数 限定次数。

9.traceroute

查看连接到某ip时的路由。如果节点禁止ping,则不能正常显示该节点。

10.wget

wget url下载内容。

11.ssh

ssh 用户名@ip:远程管理指定的linux服务器。

12.scp

上传和下载。

scp [-r] 用户名@ip:文件路径 本地路径:下载

scp [-r] 本地文件 用户名@ip:上传路径:上传

如果是目录,则加上-r。

九、重定向

1. >

可以将输出重定向到某个文件中。如:

ll > output.txt 将ll的输出内容重定向到output.txt文件中。

如果命令存在错误,且需要将错误信息重定向,则需要在>之前加上2,如:

ll /abcd 2>output.txt

如果命令不存在错误信息,则加上2后不会重定向。

2. |

command 1 | command 2:将前一个命令的输出作为后一个命令的输入。

用 | command | 可以组成一个过滤器。

如果无论是否有错误都希望重定向到文件中,则使用 &>。

十、输出

echo:显示一行文本,可以用通配符。

echo *s:显示所有以s结尾的文件。

echo $((2*2)):4

$有点类似于编程语言中的%。

echo {1,2,3}:1 2 3

echo a{1..5}:a1 a2 a3 a4 a5,用花括号类似于python中的map函数。

十一、权限

1.chmod

修改文件权限,后面参数详见https://www.cnblogs.com/adolfmc/p/5898115.html

2.umask

设置权限掩码(即默认权限)。常用的是0002(所有者和用户组可读写,其他用户只读)、0022(所有者可读写,用户组和其他用户只读)。

3.sudo和su

su用于其他用户用超级用户的密码登录超级用户的账号,会另启动一个shell环境,而sudo用于其他用户用自己的密码登录超级用户的账号,不会另启动一个新环境。

具体详见http://blog.csdn.net/xiaoputao0903/article/details/24230553

4.chown

改变文件所有者。

chown 用户名 文件名

5.chgrp

改变文件所属组。

chgrp 所属名 文件名(或者chown 拥有者:用户组)

6.ACL权限

ACL权限用于为文件所有人、所有组、其他人之外的人分配权限。

getfacl 文件名:查看文件的acl权限。

setfacl 选项 文件名:为文件分配acl权限。详见https://www.cnblogs.com/Jimmy1988/p/7249844.html

setfacl -m u:user:rwx 文件:设置user对文件具有读、写、执行权限。

setfacl -m m:rw- 文件:设置文件最大权限为读写。

setfacl -x u:user 文件:删除user的acl权限。

setfacl -m g:group 文件:设置用户组的acl权限。

setfacl -b 文件:删除文件所有的acl权限。

setfacl -m u:user:rwx -R 目录:将目录下所有文件都赋予acl权限。

setfacl -m d:u:user:rwx -R 文件/目录:将目录下所有文件都赋予acl权限,包括目录下新建的文件。

十二、进程

1.ps

查看当前在运行的进程。

x:显示所有进程。

aux:显示所有进程的详细信息。

另外,还有pstree命令,可以显示进程树。

2.top

动态显示当前进程。按q退出。

3.kill、killall、pkill

kill pid:杀死进程。pid可用ps查询。kill用于杀死单个进程(或发信号),killall用于杀死多个进程(或发信号),killall后面跟进程名。

kill -1:平滑重启进程

kill -9:强制结束进程

pkill -9 -t:按照终端号切除用户。(终端号可用w命令查看)

4.&

命令后面加上&可以将命令放入后台执行。运行中按Ctrl+z效果相同。

可以用jobs查看后台运行的进程。

fg %工作号和bg %工作号可以把进程恢复到前台或者后台执行。

5.nohup

进程前面加上nohup命令,可以使得进程与当前终端脱离,即当前终端关闭后,进程任然可以运行。

十三、环境变量

printenv、set都可以输出当前环境变量。printenv可以加上变量名,单独输出此变量的值。

十四、系统资源

1.vmstat

查看当前系统资源情况。

2.dmesg

查看硬件状态。

3.free

查看内存使用状态。

4./proc/cpuinfo

用cat查看proc目录下的cpuinfo文件,可以看到cpu的信息。

5.uptime

查看平均负载。

6.uname -a

查看内核信息。

posted @ 2018-02-07 23:20  右威卫大将军  阅读(193)  评论(0编辑  收藏  举报