Linux常用命令
命令的一般格式:命令 [-选项] [参数]
1. 目录处理命令
-
ls
常用选项说明:
-
ls -a
:显示所有文件,包括隐藏文件 -
ls -l
:详细信息显示drwxr-xr-x 2 dc2-user dc2-user 6 Dec 31 19:42 Documents
drwxr-xr-x
:第一个d代表是目录(常见的有d—目录,-—文件,l—软连接);2
:表示文件引用次数;dc2-user
:代表文件所有者;dc2-user
:文件所属用户组;6
:文件大小,单位为bits;Dec 31 19:42
:文件修改时间;Documents
:文件或目录名称;
-
ls - d
:查看目录属性直接使用ls接目录,会显示目录下的子目录和文件信息,使用此选项可以列出目录本身的信息
-
ls -i
:查看iNode编号 -
ls -h
:h-human,以友好的方式显示一般与l选项共用:
ls -hl
:-rw-rw-r-- 1 dc2-user dc2-user 2.6K Feb 22 16:37 code.tar
,这时在文件大小方面就会按照人类友好的格式显示
-
-
mkdir
创建目录。常用选项:
-p
:递归地创建目录 -
pwd
print working directory.
显示当前工作目录的绝对路径。
-
rmdir
remove empty directories.
删除空目录,若目录非空则会报错。
-
cp
拷贝文件或目录。拷贝文件直接使用即可,若要拷贝目录时需要增加选项。常用的选项:
cp -r
:复制目录cp -p
:保留文件属性(如文件修改时间等)
cp可以复制多个文件或目录,如:
cp ./temp ./nohup.out /tmp
;cp可以在复制的同时进行更名,如:
cp temp /tmp/mumu_temp
; -
mv
剪切文件、更改文件名。
-
rm
删除文件或目录。常用选项:
rm -r
:删除目录rm -f
:强制执行(不经过询问直接删除)
2. 文件处理命令
-
touch
创建空文件。
在linux里文件名可以用各种特殊符号,同时,后缀名大多情况下是没有意义的。
创建带空格的文件(不推荐):
touch program files
会创建两个文件,应使用touch "program files"
。 -
cat
查看文件内容。
常用选项:
cat -n
:显示行号。 -
tac
:按行号倒序显示文件。 -
more
:分页显示文件内容。- 浏览时用空格或者f,一页一页进行翻页;
- 使用回车可以按行进行翻页;
- q可以退出。
-
less
:与more
大同小异,但是可以向上翻页。- page up按页向上翻页;
- 上箭头⬆按行向上翻页;
- /+关键词按关键词搜索,搜索状态下按n(next)可以跳转到下一个关键词所在。
-
head
显示文件前面几行。默认为十行。
常用选项:
head -n
:指定行数例:
head -n 7 /etc/services
-
tail
显示文件末尾几行。与
head
用法相似。常用选项:
tail -n
:指定行数tail -f
:动态显示末尾几行,常用于监控日志 -
ln
生成链接文件。用法:
ln -s [原文件] [目标文件]
选项:
ln -s
:生成软链接,不加-s
即为硬链接- 软链接文件类似于windows中的快捷方式,主要作用为指向原文件,软链接的权限都是rwx,其操作权限是由原文件决定的。
- 硬链接类似于
cp -p
,保留原文件的所有相关信息(如修改时间等),但是硬链接文件具备同步更新的特性,修改硬链接文件也会修改原文件。硬链接和原文件有同样的inode.
3. 权限管理命令
-
chmod
-
通过
+-=
为相应的用户或组ugo
分配权限,如:chmod g-x mumu
chmod o=rwx mumu
-
通过数字为文件或目录修改权限,
如:
chmod 777 mumu
chmod 550 mumu
-
通过
-R
进行递归修改
注意在linux中,目录权限的具体含义:
符号 意义 对于文件 对于目录 r 读权限 可以查看文件内容 可以列出目录中的内容 w 写权限 可以修改文件内容 可以在目录中创建、删除文件 x 执行权限 可以执行文件 可以进入目录 对于目录来说,r权限常常伴随着x权限
-
-
chown
:chown [用户] [文件或目录]
如:
chown user1 mumu
-
chgrp
:chgrp [用户组] [文件或目录]
如:
chgrp mybrother mumu
-
umask
:显示、设置文件的缺省权限umask -S
:以rwx形式显示新建文件缺省权限通常而言,新建文件为644,新建目录为755
4. 文件搜索命令
find
:``find [搜索范围] [匹配条件]
常用选项:
-
-
-name
:按文件名进行搜索,如find /etc -name init
:搜索/etc目录下所有名称为init的文件。注意:在linux里文件搜索是精确匹配的,而非像windows一样,会进行模糊搜索,且严格区分大小写通配符的使用:
*
匹配任意字符串,?
匹配任意字符,如:find /etc -name *init*
即为模糊匹配;find /etc -name init???
为搜索init开头且后面有三个字母的文件。
-
-
-iname
:按文件名搜索时忽略大小写。
-
-
-size
:按照文件大小进行搜索。使用
+-=
进行大小描述,如+n
为大小大于n的文件,-n
为大小小于n的文件,=n
为大小等于n的文件。注意在linux中,使用数据块大小描述文件大小。1数据块=512字节=0.5K。
因此,想搜索磁盘中大小大于100MB的文件,命令为:
find / -size +204800
-
-
-user
:根据所有者查找,如:find /home -user dc2-user
-
-group
:根据所属组查找。
-
- 根据时间属性查找:
-
命令 含义 说明 -cmin
change 文件属性 -mmin
modify 文件内容 -amin
access 访问时间 同样使用
+-=
来匹配,如搜索/etc下5分钟内被修改过属性的文件和目录:find /etc -cmin -5
-
-
多条件搜索:
-a
两个条件同时满足(and);-o
两个条件满足任意一个即可(or)如:在/etc下查找大于10MB且小于100MB的文件:
find /etc -size +20480 -a -size -204800
-
-
-
-type
:根据文件类型查找(可选f
文件,d
目录,l
软连接文件)如:在/etc下查找所有以init开头的文件:
find /etc -name *init -a -type d
-
-
-inum
:根据i节点进行查找。(适用于文件名极为复杂的情况,首先ls -i
查找出文件i节点,再通过-inum
加-exec
进行查找与操作)
-
-
-exec
或-ok
:对find的结果进行操作,固定格式为find [查找范围] [匹配条件] -exec 命令 {} \;
如在/etc下查找inittab文件并显示其详细信息:
find /etc -name inittab -exec -ls -l {} \;
-ok
与-exec
的区别:-ok
在每次操作时都会询问。
-
-
locate
:locate [文件名]locate与find 不同: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。
locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/slocate/slocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
updatedb
若使用时发现报错
-bash: locate: command not found
,则原因为未安装mlocate
所致,此时应执行yum install mlocate
进行安装。locate
命令不会定位/tmp目录下的文件。 -
which
:搜索命令所在的目录及别名信息。如:
which ls
结果为:alias ls='ls --color=auto' /usr/bin/ls
-
whereis
:搜索命令所在目录及帮助文档路径。如:
whereis ls
结果为ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
-
grep
:在文件中搜索对应行。grep [关键字] [文件名]
,如grep mysql /root/install.log
常用选项:
grep -i ...
:不区分大小写grep -v ...
:排除指定字符串grep -n ...
:输出对应行号
5. 帮助命令
-
man
:用法man [命令或配置文件]
例:
man ls
获取ls命令的帮助信息;man services
获取services配置文件的帮助信息(查看配置文件帮助时不需要写配置文件的绝对路径)。帮助文件的种类有很多,其中1代表命令的帮助(如
passwd.1.gz
),5代表配置文件的帮助。因此,在使用man
时,可以向系统声明想查看的帮助类型,如查看配置文件的帮助信息则为man 5 passwd
-
whatis
:查看命令的简短介绍,如whatis ls
-
只想查看命令的可用选项及说明,对于一些命令来说,使用
--help
即可,如whatis --help
-
help
:查看内置命令帮助。如help umask
6. 用户管理命令
-
useradd
:添加新用户,如useradd user1
新添加的用户尚不能登录,还需要通过
passwd
设置密码。 -
passwd
:root使用passwd [用户名]
,可以为指定的用户设置密码。- 若使用root设置密码,简单的密码也可以通过;
- 普通用户修改密码,直接键入
passwd
,密码太简单就不会被通过。
-
who
:查看正在使用的用户信息。结果如:
dc2-user pts/0 2020-05-26 10:28 (192.168.198.1)
- 第一栏:用户名;
- 第二栏:用户登录的终端,tty为本地登录,pts为远程登录;
- 第三栏:登录时间;
- 第四栏:登录的主机ip地址。
-
w
:得到更为详细的用户登录信息。结果如:
10:31:47 up 74 days, 23:28, 1 user, load average: 0.18, 0.15, 0.14 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT dc2-user pts/0 110.183.94.102 10:28 3.00s 0.03s 0.01s w
- 第一行:当前系统时间—系统连续运行时间—当前总计登录用户数—系统负载指数(5分钟、10分钟、15分钟的均值)
- 第二行:IDLE:系统空闲的时间(即未执行命令的时间);JCPU:累计占用CPU时间;PCPU:当前进程占用CPU时间;WHAT:当前正在执行的命令。
7. 文件压缩命令
.zip格式的文件在windows和linux下都可以压缩和解压缩。
-
gzip
:gzip [文件名]
gzip不能压缩目录,且压缩后原文件会删除。实际中不常用。
对
.gz
文件解压缩,需要使用gzip -d
或者gunzip
-
tar
:打包目录。常用选项:
-c
:打包;-v
:显示详细信息;-z
:打包同时压缩;-x
:解压缩;-f
:指定文件名;用法:
tar -zcvf [压缩后文件名] [原文件名]
-
zip
:压缩文件或目录。常用在windows和linux间文件的传递。
用法:
zip [-r] [压缩后文件名] [文件或目录]
-r
表示压缩目录。使用
unzip
解压缩。 -
bzip2
:gzip
的升级版本,其压缩比较大,且压缩后可以保留原文件。选项:
-k
:压缩或解压时保留原文件。可以与
tar
一起使用:tar -cjf documents.tar.bz2 documents
解压时使用
bunzip2
或tar -xjf
8. 网络命令
-
write
:给用户发信息,输入后以Ctrl+D保存结束。用法:
write [用户名]
-
wall
:给所有用户发信息。用法:
write [message]
-
ping
:测试网络连通性。常用选项:
-c
:指定发送次数。用法:
ping -c 5 www.baidu.com
-
ifconfig
:查看和设置网卡信息。用法:查看时直接使用命令,设置时
ifconfig [网卡名] [ip地址]
例:
ifconfig eth0 192.168.8.250
-
mail
:查看发送电子邮件。Ctrl+D保存结束。用法:
mail [用户名]
-
last
:统计计算机过去的登录记录。使用
-数字
列出记录条数,如:last -5
-
lastlog
:查看所有用户的上次登录信息。 -
traceroute
:显示数据包到主机的路径。如:
traceroute www.taobao.com
-
netstat
:显示网络相关信息。常用选项:
-t
:TCP协议;-u
:UDP协议;-l
:监听;-r
:路由;-n
:显示IP地址和端口号。如:
netstat -tlun
:查看本机监听的端口。netstat -an
:查看本机所有网络连接。
9. 关机重启命令
-
shutdown
:shutdown [选项] [时间选项]
常用选项:
-c
:取消前一个关机命令;-h
:关机;-r
:重启时间选项可以用
now
或具体时间,如shutdown -h 20:00
-
使用
init
修改系统运行级别。使用
runlevel
查询当前的运行级别。系统运行级别:
- 0——关机
- 1——单用户
- 2——不完全多用户,不含NFS服务
- 3——完全多用户
- 4——未分配
- 5——图形界面
- 6——重启
如
init 0
即为关机命令。