Ⅰ. 常用系统工作命令
1. echo 命令
?? echo命令用于在终端输出字符串货变量提取后的值,格式为"echo [字符串 | $变量]"
?例:把指定字符串"LinxuHat"输出到终端屏幕的命令为:
[root@linuxprobe Desktop]# echo LinuxHat
|
?? 该命令会在终端屏幕上显示如下信息:
?? 使用$变量的方式提取变量SHELL的值,并将其输出到屏幕上:
[root@linuxprobe Desktop]# echo $SHELL
/bin/bash
|
2. date 命令
?? date命令用于显示及设置系统的时间或日期,格式为"date [选项] [+指定的格式]"
参数
|
作用
|
%t
|
跳格
|
%H
|
小时(00..23)
|
%I
|
小时(01..12)
|
%M
|
分钟(00..59)
|
%S
|
秒(00..61)
|
%j
|
一年中的第几天 (001..366)
|
?? 按照默认格式查看当前系统时间的date命令如下所示:
[root@linuxprobe Desktop]# date
Tue Aug 13 17:36:08 CST 2019
|
?? 按照"年-月-日 小时:分钟:秒"的格式查看当前系统时间的date命令如下所示:
[root@linuxprobe Desktop]# date "+%Y-%m-%d %H:%M:%S"
2019-08-13 17:37:57
|
?? 将系统的当前时间设置为2019年9月1日9点0分的date命令如下所示:
[root@linuxprobe Desktop]# date -s "20190901 9:00:00"
Sun Sep? 1 09:00:00 CST 2019
|
?? 再次使用date命令并按照默认的格式查看当前的系统时间,如下所示:
[root@linuxprobe Desktop]# date
Sun Sep? 1 09:00:43 CST 2019
|
?? date命令中的参数%j可用来查看今天是当年中的第几天
[root@linuxprobe Desktop]# date "+%j"
244
|
3. reboot 命令
?? reboot命令用于重启系统,其格式为reboot:
?? 由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启,其命令如下:
[root@linuxprobe Desktop]# reboot
|
4. poweroff 命令
?? poweroff命令用于关闭系统,其格式为poweroff
?? 由于关闭计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启,其命令如下:
[root@linuxprobe Desktop]# poweroff
|
5. wget 命令
?? wget命令用于在终端中下载网络文件,格式为"wget [参数] 下载地址"
[root@linuxprobe Desktop]# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf
|
6. ps 命令
?? ps命令用于查看系统中的进程状态,格式为"ps [参数]"
l? -A 列出所有的行程(包括其他用户的进程)
l? -u 用户以及其他详细信息
l? -x 显示没有控制终端的进程
?? 进程有5种状态,分别为运行、中断、不可中断、僵死与停止
· R(运行):进程正在运行或在运行队列中等待
· S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态
· D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断
· Z(僵死):进程以及终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放
· T(停止):进程收到停止信号后停止运行
[root@linuxprobe Desktop]# ps -aux
|
进程状态
? 
?
7. top 命令
?? top命令用于动态地监视进程活动与系统负载等信息,其格式为top
?? top命令相当于Windows任务管理器
[root@linuxprobe Desktop]# top
|
top命令的运行界面
? 
?
?? · 第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)
?? · 第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
?? · 第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等
?? · 第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量
?? · 第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量
8. pidof 命令
?? pidof命令用于查询某个指定服务进程的PID值,格式为"pidof [参数] [服务名称]"
[root@linuxprobe Desktop]# pidof sshd
1805
|
9. kill 命令
?? kill命令用于终止某个指定PID的服务进程,格式为"kill [参数] [进程PID]"
[root@linuxprobe Desktop]# kill 1805
|
10. killall 命令
?? killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:"killall [参数] [进程名称]"
[root@linuxprobe Desktop]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe Desktop]# killall httpd
[root@linuxprobe Desktop]# pidof httpd
[root@linuxprobe Desktop]#
|
Ⅱ. 系统状态监检测命令
1. ifconfig 命令
?? ifconfig命令用于获取网卡配置与网络状态等信息,格式为"ifconfig [网络设备] [参数]"
[root@linuxprobe Desktop]# ifconfig
|

?2. uname 命令
?? uname命令用于查看系统内核与系统版本等信息,格式为"uname [-a]"
[root@linuxprobe Desktop]# uname -a
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
|
?? 顺带一提,如果要查看当前系统版本的详细信息,则需要查看redhat-release文件,其命令以及相应的结果如下:
[root@linuxprobe Desktop]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
|
3. uptime 命令
?? uptime命令用于查看系统的负载信息,格式为"uptime"
[root@linuxprobe Desktop]# uptime
?23:51:53 up 49 min,? 2 users,? load average: 0.05,0.15,0.19
|
4. free 命令
?? free用于显示当前系统中内存的使用量信息,格式为"free [-h]"
[root@linuxprobe Desktop]# free -h
|

?? ?· total:内存总量
?? · used:已用量
?? · free:可用量
?? · shared:进程共享的内存量
?? · buffers:磁盘缓存的内存量
?? · cached:缓存的内存量
5. who命令
?? who命令用于查看当前登入主机的用户终端信息,格式为"who [参数]"
[root@linuxprobe Desktop]# who
|

? ?· 第1列:登录的用户名
?? · 第2列:终端设备
?? · 第3列:登录到系统的时间
6. last命令
?? last命令用于查看所有系统的登录记录,格式为"last [参数]"
[root@linuxprobe Desktop]# last
|
? 
7. history命令
?? history命令用于显示历史执行过的命令,格式为"history [-c]"
说明:
① 使用-c参数则会清空所有的命令历史记录
② 可以使用"!编码数字" 的方式来重复执行某一次的命令
[root@linuxprobe Desktop]# history
|
8. sosreport命令
?? sosreport命令用于手机系统配置及架构信息并输出诊断文档,格式为"sosreport"
[root@linuxprobe Desktop]# sosreport
|

?
?? · quit:此处敲击回车来确认收集信息
?? · name:此处敲击回车来确认主机编号
?? · for:此处敲击回车来确认主机编号
Ⅲ. 工作目录切换命令
1. pwd命令
?? pwd命令用于显示用户当前所处的工作目录,格式为"pwd [选项]"
[root@linuxprobe ~]# pwd
/root
|
2. cd命令
?? cd命令用于切换工作路径,格式为"cd [目录名称]"
例:切换到/etc目录中
[root@linuxprobe ~]# cd /etc
[root@linuxprobe etc]#
|
例:切换到/bin目录中
[root@linuxprobe etc]# cd /bin
[root@linuxprobe bin]#
|
例:返回到上一次的目录(即/etc目录)
[root@linuxprobe bin]# cd -
/etc
[root@linuxprobe etc]#
|
例:快速切换到用户的家目录
[root@linuxprobe etc]# cd ~
[root@linuxprobe ~]#
|
3. ls命令
?? ls命令用于显示目录中的文件信息,格式为"ls [选项] [文件]"
[root@linuxprobe ~]# ls -al
total 52
dr-xr-x---. 17 root root 4096 Aug 13 23:40 .
drwxr-xr-x. 17 root root 4096 Aug 14? 2019 ..
-rw-------.? 1 root root 1032 Aug 14? 2019 anaconda-ks.cfg
-rw-r--r--.? 1 root root?? 18 Dec 29? 2013 .bash_logout
-rw-r--r--.? 1 root root? 176 Dec 29? 2013 .bash_profile
-rw-r--r--.? 1 root root? 176 Dec 29? 2013 .bashrc
drwx------. 10 root root 4096 Aug 13 23:40 .cache
drwx------. 15 root root 4096 Aug 13 23:37 .config
-rw-r--r--.? 1 root root? 100 Dec 29? 2013 .cshrc
drwx------.? 3 root root?? 24 Aug 13 17:40 .dbus
drwxr-xr-x.? 2 root root?? ?6 Aug 13 23:40 Desktop
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Documents
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Downloads
-rw-------.? 1 root root?? 16 Aug 13 23:37 .esd_auth
drwx------.? 3 root root?? 19 Aug 13 23:40 .gnome2
drwx------.? 2 root root??? 6 Aug 13 23:40 .gnome2_private
-rw-------.? 1 root root? 314 Aug 13 23:37 .ICEauthority
-rw-r--r--.? 1 root root 1083 Aug 13 17:43 initial-setup-ks.cfg
drwx------.? 3 root root?? 18 Aug 13 23:37 .local
drwxr-xr-x.? 4 root root?? 37 Aug 13 23:40 .mozilla
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Music
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Pictures
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Public
-rw-r--r--.? 1 root root? 129 Dec 29? 2013 .tcshrc
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Templates
drwxr-xr-x.? 2 root root??? 6 Aug 13 23:37 Videos
|
?? 若想查看目录属性信息,则需要额外添加一个-d参数。
例:查看/etc目录的权限与属性信息
[root@linuxprobe ~]# ls -ld /etc
drwxr-xr-x. 132 root root 8192 Aug 13 23:42 /etc
|
Ⅳ. 文本文件编辑命令
1. cat命令
?? cat命令用于查看纯文本文件(内容较少),格式为"cat [选项] [文件]"
[root@linuxprobe ~]# cat -n initial-setup-ks.cfg
|
? 
2. more命令
?? more命令用于查看纯文本文件(内容较多的),格式为"more [选项]文件"
[root@linuxprobe ~]# more initial-setup-ks.cfg
|
? 
3. head命令
?? head命令用于查看纯文本文档的前N行,格式为"head [选项] [文件]"
[root@linuxprobe ~]# head -n 20 initial-setup-ks.cfg
|
? 
4. tail命令
?? tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为"tail [选项] [文件]"
[root@linuxprobe ~]# tail -f /var/log/messages
|
5. tr命令
?? tr命令用于替换文本文件中的字符,格式为"tr [原始字符] [目标字符]"
例:把anaconda文件的文本全部替换成大写
[root@linuxprobe ~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
|
6. wc命令
?? wc命令用于统计指定文本的行数、字数、字节数,格式为"wc [参数] 文本"
[root@linuxprobe ~]# wc -l /etc/passwd
38 /etc/passwd
|
7. stat命令
?? stat命令用于查看文件的具体存储信息和时间等信息,格式为"stat 文档名称"
[root@linuxprobe ~]# stat anaconda-ks.cfg
? File: ‘anaconda-ks.cfg’
? Size: 1032????? ??????? Blocks: 8????????? IO Block: 4096?? regular file
Device: fd00h/64768d Inode: 68915660??? Links: 1
Access: (0600/-rw-------)? Uid: (??? 0/??? root)?? Gid: (??? 0/??? root)
Context: system_u:object_r:admin_home_t:s0
Access: 2019-08-14 00:27:15.065788018 +0800
Modify: 2019-08-14 01:25:23.744928793 +0800
Change: 2019-08-14 01:25:23.744928793 +0800
?Birth: -
|
8. cut命令
?? cut命令用于按"列"提取文本字符,格式为"cut [参数] 文本"
[root@linuxprobe ~]# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@linuxprobe ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
dbus
polkitd
unbound
colord
usbmuxd
avahi
avahi-autoipd
libstoragemgmt
saslauth
qemu
rpc
rpcuser
nfsnobody
rtkit
radvd
ntp
chrony
abrt
pulse
gdm
gnome-initial-setup
postfix
sshd
tcpdump
linuxprobe
|
9. diff命令
?? diff命令用于比较多个文本文件的差异,格式为"diff [参数] 文件"
[root@linuxprobe ~]# cat diff_A.txt
[root@linuxprobe ~]# cat diff_B.txt
|
?? 使用diff --brief命令显示比较后的结果,判断文件是否相同:
[root@linuxprobe ~]# diff --brief diff_A.txt diff_B.txt
|
?? 使用带有-c参数的diff命令来描述文件内容具体的不同
[root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt
|
Ⅴ. 文件目录管理命令
1. touch命令
?? touch命令用于创建空白文件或设置文件的时间,格式为"touch [选项] [文件]"
?? · a? 仅修改"读取时间(atime)"
?? · m 仅修改"修改时间(mtime)"
?? · d? 同时修改atime与mtime
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1032 Aug 14? 2019 anaconda-ks.cfg
[root@linuxprobe ~]# echo "Visit the LinuxProbe.com to learn linux skills" >> anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1079 Aug 14 00:40 anaconda-ks.cfg
[root@linuxprobe ~]# touch -d "2017-05-04 15:30" anaconda-ks.cfg
[root@linuxprobe ~]# ls -l anaconda-ks.cfg
-rw-------. 1 root root 1079 May? 4? 2017 anaconda-ks.cfg
|
2. mkdir命令
?? mkdir命令用于创建空白的目录,格式为"mkdir [选项] 目录"
[root@linuxprobe ~]# mkdir linuxprobe
[root@linuxprobe ~]# cd linuxprobe
[root@linuxprobe linuxprobe]# mkdir -p a/b/c/d/e
[root@linuxprobe linuxprobe]# cd a
[root@linuxprobe a]# cd b
[root@linuxprobe b]#
|
说明:结合-p参数来递归创建出具有嵌套叠层关系的文件目录
3. cp命令
?? cp命令用于复制文件或目录,格式为"cp [选项] 源文件 目录文件"
说明:在Linux系统中,复制操作具体分为3种情况:
① 如果目标文件是目录,则会把源文件复制到该目录中
② 如果目标文件也是普通文件,则会询问是否要覆盖它
③ 如果目标文件不存在,则执行正常的复制操作
?? · -a:相当于-pdr(p、d、r为上述参数)
?? · -d:若对象为"链接文件",则保留该"链接文件"的属性
?? · -i :若目标文件存在则询问是否覆盖
?? · -p:保留原始文件的属性
?? · -r :递归持续赋值(用于目录)
[root@linuxprobe b]# touch install.log
[root@linuxprobe b]# cp install.log x.log
[root@linuxprobe b]# ls
c? install.log? x.log
[root@linuxprobe b]#
|
4. mv命令
?? mv命令用于剪切文件或将文件重命名,格式为"mv [选项] 源文件 [目标路径|目标文件名]"
[root@linuxprobe b]# mv x.log linux.log
[root@linuxprobe b]# ls
c? install.log? linux.log
[root@linuxprobe b]#
|
5. rm命令
?? rm命令用于删除文件或目录,格式为"rm [选项] 文件"
[root@linuxprobe b]# rm install.log
rm: remove regular empty file ‘install.log’? y
[root@linuxprobe b]# rm -f linux.log
[root@linuxprobe b]# ls
c
[root@linuxprobe b]#
|
6. dd命令
?? dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为"dd [参数]"
?? · if:输入的文件名称
?? · of:输出的文件名称
?? · bs:设置每个"块"的大小
?? · count:设置要复制"块"的个数
[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied,1.3667 s,430 MB/s
|
例:将光盘制作成ISO格式的镜像文件
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
|
7. file命令
?? file命令用于查看文件的类型,格式为"file 文件名"
[root@linuxprobe ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
[root@linuxprobe ~]# file /dev/sda
/dev/sda: block special
|
Ⅵ. 打包压缩与搜索命令
1. tar命令
?? tar命令用于对文件进行打包压缩或解压,格式为"tar [选项] [文件]"
?? · -c:创建压缩文件
?? · -x:解开压缩文件
?? · -t:查看压缩包内有哪些文件
?? · -z:用Gzip压缩或解压
?? · -j:用bzip2压缩或解压
?? · -v:显示压缩或解压的过程
?? · -f:目标文件名
?? · -p:保留原始的权限与属性
?? · -P:使用绝对路径来压缩
?? · -C:指定解压到的目录
说明:
① 一般使用" tar -czvf 压缩包名称.tar.gz 要打包的目录"来进行文件打包压缩操作
② 一般使用" tar -xzvf 压缩包名称.tar.gz"来进行文件解压操作
例:压缩操作
[root@linuxprobe ~]# tar -czvf etc.tar.gz /etc
|
例:解压操作
[root@linuxprobe ~]# tar -xzvf etc.tar.gz -C /root/etc
|
2. grep命令
?? grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为"grep [选项] [文件]"
?? · -b:将可执行文件(binary)当作文本文件(test)来搜索
?? · -c:仅显示找到的行数
?? · -i:忽略大小写
?? · -n:显示行号
?? · -v:反向旋转—仅列出没有"关键词"的行
[root@linuxprobe ~]# grep /sbin/nologin /etc/passwd
|

3. find命令
?? find命令用于按照指定条件来查找文件,格式为"find [查找路径] 寻找条件 操作"
?? · -name:匹配名称
?? · -perm:匹配权限(mode为完全匹配,-mode为包含即可)
?? · -user:匹配所有者
?? · -group:匹配所有组
?? · -mtime -n +n:匹配修改内容的时间(-n指n天以内,+n指n天以前)
?? · -atime -n +n:匹配访问文件的时间(-n指n天以内,+n指n天以前)
?? · -ctime -n +n:匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
?? · -nouser:匹配无所有者的文件
?? · -nogroup:匹配无所有组的文件
?? · -newer f1 !f2:匹配比文件f1新但比f2旧的文件
?? · --type b/d/e/p/l/f:匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
?? · -size:匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
?? · -prune:忽略某个目录
?? · -exec `````` { } ;:后面可跟用于进一步处理搜索结果的命令
例:获取到该目录中所有已host开头的文件列表
[root@linuxprobe ~]# find /etc -name "host*" -print
/etc/avahi/hosts
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/selinux/targeted/modules/active/modules/hostname.pp
/etc/hostname
|
例:在整个系统中搜索权限中包括SUID权限的所有文件
[root@linuxprobe ~]# find / -perm -4000 -print
|
例:在整个文件系统中找出所有归属于linuxprobe用户的文件并复制到/root/findresults目录
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ ;
find: ‘/proc/44630/task/44630/fd/6’: No such file or directory
find: ‘/proc/44630/task/44630/fdinfo/6’: No such file or directory
find: ‘/proc/44630/fd/6’: No such file or directory
find: ‘/proc/44630/fdinfo/6’: No such file or directory
cp: cannot create special file ‘/root/findresults/’: No such file or directory
cp: cannot overwrite non-directory ‘/root/findresults/linuxprobe’ with directory ‘/home/linuxprobe’
|
? (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|