Linux系统常用命令及操作指南
一、Linux命令的基本格式
1、命令的定义
在Linux系统中,凡是在字符操作界面中输入且能够完成特定操作和任务的字符串,都可以称之为命令
2、命令的分类
内部命令:集成于shell翻译器程序内部的一些特殊命令
外部命令:是指Linux系统中能够完成特定功能的脚本文件
shell:相当于一个翻译器,接收用户指令,并翻译输出给内核
3、命令的基本格式
命令的基本格式为:command【option】【arguments】,即命令+选项+对象(参数),其中选项和参数的位置是可以互换的,而且并非必须项
选项:调节命令的具体功能,决定这条命令如何执行
短格式:单个字符的,如-a;多个单字符的,如-a -l可写成-al
长格式:多个字符的,如–help,例如:ls --help
参数:命令处理的对象
示例:ls -a /home,该命令用于查询/home家目录下所有的文件,包含隐藏文件
4、Linux命令的辅助工具
清屏:【Ctrl+l】
补齐:【Tab】
换行:【\】
删除光标之前的内容:【Ctrl+U】
删除光标之后的内容:【Ctrl+K】
取消当前命令的编辑:【Ctrl+C】
二、Linux的命令帮助
Linux系统提供了多种获取命令帮助的方式,常用的有help、man、info
man:即manual,意为指南、手册
info:即information,意为信息
此外,还有两个常用的相关符号:
管道符:|,用于将一个命令的输出作为另一个命令的输入
重定向:>,用于将命令的输出重定向到指定的文件中
三、管理文件和目录的命令
1、pwd
全称:print working directory
功能:查看当前工作目录
2、cd
全称:change directory
功能:切换工作目录
1、绝对路径:以根目录 “/” 为起点,如:/etc/sysconfig/
2、相对路径:以当前工作目录为起点,如:etc/sysconfig/
cd .:表示当前目录
cd …:表示当前目录的上一级目录
cd ~:表示当前用户的宿主目录
cd -:表示返回原来所在目录
3、ls
全称:list
功能:列表显示目录内容
1、-a:显示所有(all)的子目录和文件,包括隐藏文件
2、-A:显示除了 . 和 … 之外的其他子目录和文件(不包括隐藏文件中的这两个特殊目录)
3、-l:以长格式(long)显示文件和目录列表的详细信息,包括文件类型、权限、大小等等
4、-d:显示目录(directory)本身的属性,而不是显示目录的内容
5、-r:reverse,倒序列出目录和文件
6、-h:human-readable,为了方便阅读,给列出的文件信息中文件大小加一个单位(K、M、G),一般是和 -l 一起使用
示例:ls -alhrt /,查看根目录下面所有的子目录和文件的详细信息,并以时间由前到后的顺序排列,且给文件或者目录的大小赋予单位
4、du
全称:disk usage
功能:统计目录及文件的空间占用情况
1、-a:统计该目录中所有目录及文件的磁盘空间占用情况
2、-h:给占用空间大小赋予单位
3、-s:统计参数(对象)的总共占用空间大小
5、mkdir
全称:make directory
功能:创建新目录
-p :一次性创建嵌套的多层目录,例如:mkdir -p /目录/目录/目录/
6、touch
功能:创建空文件
同一目录下,可以同时创建多个文件,例如:touch a b c
示例:创建名为tv_seasonX_episodeY.ogg的文件,一共12个,将X替换为季数,Y替换为该季中的集数,共两季,每季六集
命令为:touch tv_season{1…2}_episode{1…6}.ogg
7、In
全称:link
功能:创建链接
创建硬链接:In源文件路径 链接文件路径
创建软链接:In -s 源文件路径 链接文件路径
共同点:无论是访问软链接还是硬链接,与直接访问原始文件的效果是一样的,修改链接文件内容,源文件也随之改动
区别:
硬链接:只能对文件创建链接,源文件删除后,链接的文件仍可用
软链接:可以对文件也可以对目录创建软链接,源文件删除后,软链接就失效
8、cp
全称:copy
功能:复制文件或目录
1、-i:interactive,交互式的,覆盖目标同名目录或者文件时提醒用户确认
2、-f:force,强制,覆盖目标同名目录或文件时不进行提醒,可直接强制复制
3、-p:复制时保留原文件的权限,时间标记等属性不变
4、-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
注意:复制目录的时候一定要加上 -r 选项
9、rm
全称:remove
功能:移除、删除文件或目录
1、-f:删除文件或目录时不进行提醒,可直接强制删除
2、-i:删除文件或目录时提醒用户确认
3、-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)
10、mv
全称:move
功能:移动文件或目录、重命名
11、alias
功能:自定义别名,例如:alias myls=‘ls -alh’
移除别名:unalias myls
永久修改别名:vi ~/.bashrc,编辑完成后执行source ~/.bashrc使其生效
12、find
功能:查找文件和目录
-
-name:根据文件名进行查找,*代表任意字符,?代表单个字符,区分大小写
-
-iname:不区分大小写根据文件名查找
-
-size:根据文件大小查询,+代表大于,-代表小于,常用的单位:k、M、G
-
-user:根据文件是否属于目标用户查询
-
-type:根据文件类型查找,包括普通文家(f)、目录文件(d)、块设备文件(b)、字符设备文件
(c)、链接文件(I)
-
-exec:执行命令
示例:查找syf用户的文件,并将这些文件拷贝到/root/findlist
目录中
[root@syf ~]# mkdir findlist //创建findlist目录
[root@syf ~]# ls /root //查看管理员用户内有没有findlist目录
anaconda-ks.cfg Downloads initial-setup-ks.cfg Public
Desktop file1 Music Templates
Documents findlist Pictures Videos
[root@syf ~]# find / -user shenyifeng //查找syf用户的文件
find: ‘/proc/10198/task/10198/fd/5’: No such file or directory
find: ‘/proc/10198/task/10198/fdinfo/5’: No such file or directory
find: ‘/proc/10198/fd/6’: No such file or directory
find: ‘/proc/10198/fdinfo/6’: No such file or directory
/var/spool/mail/shenyifeng
/home/shenyifeng
/home/shenyifeng/.mozilla
/home/shenyifeng/.mozilla/extensions
/home/shenyifeng/.mozilla/plugins
/home/shenyifeng/.bash_logout
/home/shenyifeng/.bash_profile
/home/shenyifeng/.bashrc
/home/shenyifeng/.cache
/home/shenyifeng/.cache/abrt
/home/shenyifeng/.cache/abrt/lastnotification
/home/shenyifeng/.config
/home/shenyifeng/.config/abrt
/home/shenyifeng/.bash_history
[root@syf ~]# find / -user shenyifeng -exec cp {} /root/findlist/ \; //syf用户文件已拷贝到/root/findlist目录中
find: ‘/proc/10346/task/10346/fd/5’: No such file or directory
find: ‘/proc/10346/task/10346/fdinfo/5’: No such file or directory
find: ‘/proc/10346/fd/6’: No such file or directory
find: ‘/proc/10346/fdinfo/6’: No such file or directory
cp: omitting directory ‘/home/shenyifeng’
cp: omitting directory ‘/home/shenyifeng/.mozilla’
cp: omitting directory ‘/home/shenyifeng/.mozilla/extensions’
cp: omitting directory ‘/home/shenyifeng/.mozilla/plugins’
cp: omitting directory ‘/home/shenyifeng/.cache’
cp: omitting directory ‘/home/shenyifeng/.cache/abrt’
cp: omitting directory ‘/home/shenyifeng/.config’
cp: omitting directory ‘/home/shenyifeng/.config/abrt’
[root@syf ~]# ls /root/findlist/
lastnotification shenyifeng
[root@syf ~]# ls -a /root/findlist/
. .bash_history .bash_profile lastnotification
.. .bash_logout .bashrc shenyifeng
13、mount
- 功能:挂载,将分区挂载到目录下,从而将分区和目录联系起来,访问该目录就相当于访问分区了
- 格式:
mount 【选项】 【设备/分区】【挂载点】
,选项可有可无,-t
用于指定文件系统类型
四、文件内容查看与处理命令
1、cat
功能:一次性显示文件的所有内容
2、more
功能:分页查看文件内容,显示查看内容所占文档的百分比,无法逐行向上查看
- 操作:
enter
逐行向下查看;空格键向下翻页;b
向上翻页;q
退出,显示已经查看过的文件内容,或者文件内容浏览完后自动退出
3、less
- 功能:分页查看文件内容,能够向上逐行查看
- 操作:
enter
逐行向下查看;空格键向下翻页;b
向上翻页;q
退出,不会显示已经查看过的文件内容
- 操作:
4、head
- 功能:默认查看文件内容的前 10 行,
head -n 5
可查看前 5 行
5、tail
- 功能:默认查看文件内容的后 10 行
示例:查看文件/etc/passwd
的第 11-20 行内容,命令为head -n 20 /etc/passwd | tail -n 10
[root@syf ~]# vim /etc/passwd //:set nu ----显示行数
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15 dbus:x:81:81:System message bus:/:/sbin/nologin
16 polkitd:x:999:998:User for polkitd:/:/sbin/nologin
17 libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/s bin/nologin
18 colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin
19 rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
20 saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
21 abrt:x:173:173::/etc/abrt:/sbin/nologin
[root@syf ~]# head -n 20 /etc/passwd | tail -n 10
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:995:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
6、wc
- 功能:统计文件中的字节数、单词数、行数
-c
:统计文件中的字节数-w
:统计文件中的单词数-l
:统计文件中的行数
7、grep
- 功能:过滤、筛选
grep "字符串"
:筛选包含该字符串的内容grep -v "字符串"
:筛选不包含该字符串的内容grep ^"字符串"
:筛选以该字符串开头的内容grep "字符串"$
:筛选以该字符串结尾的内容grep ^$
:筛选空行grep -i
:不区分大小写筛选
五、文件压缩与解压命令
1、gzip
- 功能:压缩文件,压缩文件以 .gz 结尾
- 压缩:
gzip aa
,生成aa.gz
,源文件自动删除 - 解压:
gzip -d aa.gz
或gunzip aa.gz
,解压后压缩文件自动删除
- 压缩:
- 注意:不支持对目录进行压缩或者解压
2、bzip2
- 功能:压缩文件,压缩文件以 .bz2 结尾
- 压缩:
bzip2 aa
,生成aa.bz2
,源文件自动删除 - 解压:
bzip2 -d aa.bz2
或bunzip2 aa.bz2
,解压后压缩文件自动删除
- 压缩:
- 注意:不支持对目录进行压缩或者解压
3、tar
tar 命令可以对文件和目录进行打包,常与 gzip 或 bzip2 结合使用进行压缩和解压
常用选项
-c
:创建(Create).tar
格式的包文件-C
:解包时指定释放的目标文件夹-f
:表示使用归档文件-j
:调用 bzip2 程序进行压缩或解压-p
:打包时保留文件及目录的权限-P
:打包时保留文件及目录的绝对路径-t
:列表查看包内的文件-v
:输出详细信息(Verbose)-x
:解开.tar
格式的包文件-z
:调用 gzip 程序进行压缩或解压
压缩命令格式
tar 选项 压缩文件名 源文件名或者目录
示例 1:将系统/usr/local
目录,打包到/root/backup_local.tar.bz2
[root@syf ~]# tar -cjvf /root/backup_local.tar.bz2 /usr/local
示例 2:将系统/etc/sysconfig
目录进行打包并用 gzip 压缩,生成的文件保存为/root/sysconfig.tar.gz
[root@syf ~]# tar -czvf /root/sysconfig.tar.gz /etc/sysconfig
解压命令格式
- 解压到当前目录:
tar 选项 压缩文件名
- 解压到指定目录:
tar 选项 压缩文件名 -C 目录
示例 1:将包文件/root/backup_local.tar.bz2
解压到/tmp
目录下
[root@syf ~]# tar -xjvf /root/backup_local.tar.bz2 -C /tmp
示例 2:将包文件/root/sysconfig.tar.gz
解压到/tmp
目录下
[root@syf ~]# tar -xzvf /root/sysconfig.tar.gz -C /tmp
六、其他常用命令
1、date
- 功能:查看当前系统时间
- 修改时间:
date -s 20200916
,将当前系统时间修改为 2020 年 9 月 16 日 0 点 - 同步时间到硬件:
hwclock -w
2、history
- 功能:列出历史使用命令
- 执行历史命令:
!历史命令的编号
,例如!996
;!以最近使用什么开头的命令
,例如!cd