常用快捷键
ctrl+l 清屏
ctrl+q 退出
ctrl+c 停止进程
上下键 查找曾今执行过的命令
tab 命令补全,多用不仅提高效率还能防止敲错
既然linux一切皆文件,了解万能的帮助命令后,我们就从目录文件命令开始学习。
一、目录相关命令
1. pwd
语法:pwd
功能描述:显示当前工作目录的 绝对路径
案例:
2. ls
功能描述:列出目录下的文件
选项:
-a(–all):显示全部文件,包括隐藏文件(以.开头的文件)
-l:long长数据串列出,包含文件的属性和权限等。每行列出的信息依次为: 文件类型与权限、链接数、文件属性、文件属组、文件大小(byte)、创建或最近修改时间、名字
3. cd
功能描述:切换到指定目录
…/ 上一级目录
./ 当前目录
~ 用户的的home家目录
cd 绝对路径或相对路径 (跳转到指定目录)
cd 或cd ~ (返回当前用户家目录)
cd - (返回上一次所在的目录)
cd … (返回当前目录的上一级目录)
4. mkdir
语法:mkdir [选项] 目录名称
功能描述:创建指定目录
选项:
-p :parents,创建多层目录
5. rmdir
语法: rmdir [选项] 目录名称
功能描述:删除空目录
选项:
-p:删除多级目录
6. cp
语法:cp 源目录或文件 目标目录或文件
功能描述:复制目录或文件
选项:
-r:recursive,递归复制整个文件夹
案例:
将test复制为test.txt,复制时重命名
将所有test目录内容复制到test1目录(自动创建test1目录)
7. mv
语法:mv [选项] 源 目标
功能描述:移动文件或重命名文件
案例:
将test文件重命名为test.txt
将test目录及其里边所有内容移动到test2目录,自动创建test2目录(可以理解为将test文件夹重命名为
test2)
8. rm
语法:rm [选项] 文件
功能描述:删除文件及目录
选项:
-f:force强制执行,不询问
-r:recursive递归执行
案例:
递归删除目录及其下所有内容
通配符 *
删库跑路:rm -f *
二、文件相关命令
1. touch
语法:touch [选项] 文件名
功能描述:touch,创建文件,摸一个文件。
2. cat
语法:cat [选项] 文件名
功能描述:查看文件内容,从第一行开始显示
选项:
-A:列出特殊字符而非空白
-b:列出行号,空白行不算行号
-n:列出行号,空白行也会有行号
-v:列出一些看不出来的特殊字符
3. more
语法:more [选项] 文件
功能描述:查看文件内容,一页一页的显示
使用说明:
空格键(space):向下翻一页
enter:向下翻一行
q:退出more,不在显示文件内容
ctrl+f:向下滚动一屏
ctrl+b:返回上一屏
=:输出当前行的行号
:f:输出文件名和当前行号
4. head
语法:head [选项] 文件
功能描述:查看文件内容,只看头几行
选项:
-n:查看头n行
案例:
[root@localhost ~]# head -n 2 test.txt 查看前两行
5. tail
语法:tail [选项] 文件
功能描述:查看文件内容,只查看文件末尾几行
选项:
-n:末尾几行
-f:follow输出文件修改的内容,用于追踪文件修改
案例:
[root@localhost ~]# tail -n 2 test.txt
6. wc (what count)
语法:wc [选项] 文本
功能描述:统计指定文本的行数、字数、字节数
选项:
-l:lines显示行数
-w:显示单词数
-c:显示字节数
[root@heimatengyun test]# wc -l test.txt
8 test.txt #8行
[root@heimatengyun test]# wc -w test.txt
11 test.txt #11个单词
[root@heimatengyun test]# wc -c test.txt
60 test.txt #60个字节
7. stat
语法:stat [选项] 文件
功能描述:查看文件的具体存储信息和时间等信息
8. file
语法:file 文件名
功能描述:查看文件类型
9. wget
语法:wget [参数] [url地址]
功能:下载网络文件
参数:
-b:background后台下载
-P:directory-prefix下载到指定目录
-t:tries 最大尝试次数
-c:continue断点续传clear
-p:page-requisites下载页面所有内容,包括图片、视频等
-r:recursive递归下载
三、 查找命令
1. find
语法:find [搜索范围] [参数] [匹配条件]
功能描述:查找文件或目录
参数说明
-name:按文件名称查找
-user:按文件拥有者查找
-size:根按文件大小查找文件(+n大于,-n小于,n等于)
案例
在test目录下查找test1.txt文件
[root@heimatengyun ~]# find test/ -name test1.txt
test/test1.txt
查找test目录下查找用户root的文件
[root@heimatengyun ~]# find test/ -user root
test/
test/test.txt
在test目录下查找小于100M的文件
[root@heimatengyun ~]# find test/ -size -102400
test/
test/test.txt
2. grep
语法:grep [参数] 查找内容 源文件
功能描述:在文件内搜索字符串匹配的行并输出,常用于管道搜索
参数:
-c:count只输出匹配行的计数
-n:line-number
案例:
[root@heimatengyun test]# grep -n who test.txt
3 :who are you
[root@heimatengyun test]# grep -c who test.txt
1
2.4.3 which
语法:which [选项] 命令
功能描述:搜索命令所在目录及别名信息
四、压缩解压
1. tar
语法:tar [参数] 包名.tar.gz 待打包的内容
功能描述:打包目录,压缩后的文件格式为.tar.gz
参数:
-c:create生成.tar打包文件
-x:extract解包.tar文件
-v:verbose显示详细信息
-f:file指定压缩后的文件名
-z:压缩/解压
-C:解压到指定目录
案例:
[root@localhost test]# tar -cvf test1.tar test2.txt test.txt #打包
[root@localhost test]# tar -xvf test1.tar #解包
[root@localhost test]# tar -czvf test1.tar.gz test2.txt test.txt #压缩
[root@localhost test]# tar -xzvf test1.tar.gz #解压
[root@localhost test]# tar -xzvf test1.tar.gz -C temp #解压到指定目录
2.5.2 zip和unzip
语法:
压缩:zip [参数] 包名.zip 待压缩内容
解压:uzip 包名.zip
功能描述:压缩文件和目录,windows和linux通用且可以压缩目录并保留源文件
参数:
-r:recurse-paths递归压缩目录
案例:
压缩test.txt或test1.txt为test.zip
[root@heimatengyun test]# zip test.zip test.txt test1.txt
adding: test.txt (deflated 15%)
adding: test1.txt (stored 0%)
解压test.zip
[root@heimatengyun test]# unzip test.zip
Archive: test.zip
inflating: test.txt
extracting: test1.txt
2.5.3 gzip和gunzip
语法:
压缩:gzip [参数] 文件
解压:gzip [参数] 文件.gz
功能描述:
压缩:压缩文件,只能将文件压缩为 .gz 文件。 只能压缩文件不能压缩目录,压缩解压后不保留原来的文件。对单个文件压缩
解压:解压文件 -d
五、日期命令
日期相关命令用于设置或获取系统日期。
** date**
语法:date [选项] [格式]
功能描述:显示或设置时间
参数:
-s:set 以字符串格式设置时间格式: (注意区分大小写)
+%Y:显示当前年份
+%m:显示当前月份
+%d:显示当前是哪一天
+%H:显示当前小时
+%M:显示当前分钟
+%S:显示当前秒数
+%Y%m%d:显示当前年月日
“+%Y-%m-%d %H:%M:%S”:显示当前年月日时分秒 (用引号括起来)
六、进程线程命令
1. ps
语法:ps [选项]
功能描述:查看系统中所有进程
参数:
-a:all 显示现行终端机下的所有程序,包括其他用户的程序(比如多克隆几个会话执行不同命令,也会
列出来)
-u:userlist 以用户为主的格式来显示程序状况
-x: 显示所有程序,不以终端机来区分 (前面讲过终端有很多类型,不仅显示当前终端)
项 | 含义 |
---|---|
USER | 进程是由哪个用户产生的 |
PID | 进程ID |
%CPU | 该进程占用CPU的百分比,占用越高,进程越耗费资源 |
%MEM | 该进程占用内存的百分比,占用越高,进程越耗费资源 |
VSZ | 占用虚拟内存的大小,单位KB |
RSS | 占用实际物理内存的大小,单位KB |
TTY | 表示该进程在哪个终端中运行,tty1-tty7代表本地控制台终端(tty1-tty6是本地的 字符界面终端,tty7是图形终端),pts/0-255代表虚拟终端 |
STAT | 进程状态,常用状态有:R(运行)、S(睡眠)、T(停止状态)、s(包含子进 程)、+(位于后台) |
START | 进程启动时间 |
TIME | 进程执行时间,即占用cpu的运算时间,不是系统时间 |
COMMAND | 产生此进程的命令名 |
ps -aux | grep xxx
2. top
语法:top [选项]
功能描述:查看系统健康状态
参数:
-d 秒数:Delay-time,指定top命令每隔几秒更新,默认是 3 秒。
-i:Idle-process,使top命令不显示任何闲置或者僵死进程
-p:Monitor-PIDs ,通过指定监控进程ID来仅仅监控某个进程的状态
-s:Secure-mode,使top在安全模式运行,去除交互命令所带来的潜在危险
案例:
[root@heimatengyun test]# top -i -d 1
查看非僵死进程,一秒钟刷新一次
3. pidof
语法:pidof [参数] 服务名称
功能描述:查询某个指定服务进程的pid值
案例:
查看sshd服务的进程id
[root@heimatengyun test]# pidof sshd
2962 2247
4. pstree
语法:pstree [选项]
功能描述:查看进程树
选项:
-p:显示进程的PID
案例:
[root@heimatengyun test]# pstree -p
systemd(1)─┬─ModemManager(948)─┬─{ModemManager}(1004)
│ └─{ModemManager}(1031)
├─NetworkManager(1123)─┬─{NetworkManager}(1284)
│ └─{NetworkManager}(1312)
...省略部分内容
5. kill
语法:kill [选项] 进程id
功能描述:终止某个指定pid的服务进程
选项:
-9:强迫进程立即停止
案例:
[root@heimatengyun test]# kill -9 20385
6. killall
语法:killall [选项] 服务名
功能描述:终止某个指定名称的服务对应的所有进程
案例:
终止httpd服务的所有进程
[root@heimatengyun test]# killall httpd
七、系统状态检测命令
通过相关命令检查系统状态以及资源耗用情况,保证系统健康稳定运行。
1. ifconfig
语法:ifconfig [网络设备] [参数]
功能描述:获取网卡配置和网络状态信息
案例:
主要查看内容:网卡名称(eno16777736 )、ip地址(inet之后)物理网卡地址即mac地址
(ether)、TX和TX接收和发送数据包的个数和累计流量
[root@heimatengyun test]# ifconfig
eno16777736: flags= 4163 <UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.78.100 netmask 255.255.255.0 broadcast 192.168.78.255
inet6 fe80:: 20 c: 29 ff:febc: 5 eef prefixlen 64 scopeid 0x20<link>
ether 00 : 0 c: 29 :bc: 5 e:ef txqueuelen 1000 (Ethernet)
RX packets 143336 bytes 103106029 (98.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 92576 bytes 143399144 (136.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2. netstat 重要
语法:netstat [参数]
功能描述:显示整个系统目前网络情况,比如目前的链接、数据包传递数据、路由表内容等
案例:
3. history
语法:history [参数]
功能描述:显示历史执行过的命令
选项:
-c:清除所有历史记录,但是.bash_history文件内容不会删除
案例:
八、关机命令
linux一般用在服务器上,很少遇到关机的情况,毕竟关机服务就会中断,除非特殊情况不得已才会关
闭。
正确的关机流程:sync>shutdown或reboot或halt
无论重启还是关机,都需要先sync将内存数据同步到硬盘中,避免数据丢失
1. reboot
语法:reboot [ 选项]
功能描述:重启系统,等同于shutdown -r now
2. poweroff
语法:poweroff [选项]
功能描述:关闭系统
3. halt
语法:halt [选项]
功能描述:关闭系统,等同于shutdown -h now和poweroff
4. shutdown
语法:shutdown [选项] [关机时间] [提示内容]
功能描述:关机
-h:关机
-r:重启
关机时间:
hh:mm:指定 24 小时制的小时和分钟后关机
+m:m分钟后关机(+1:默认值, 1 分钟后关机; +0:now,立刻关机)
案例:
1 分钟后关机并提示所有已登录系统的用户
[root@heimatengyun ~]# shutdown - h 1 "this server will shutdown after 1min"
this server will shutdown after 1 min
The system is going down for power-off at Sun 2019 - 11 - 24 22 : 25 : 55 CST!