Linux基础命令(35条)

Linux命令格式    命令名称【命令参数】【命令对象】

命令名称:就是语法中的“动词”,表达的是想要做的事情,例如创建用户、查看文件、重启系统等操作。

命令参数:用于对命令进行调整,让“修改”过的命令能更好地贴合工作需求,达到事半功倍的效果。就像买衣服一样,衣服的尺码总会感觉偏大或偏小,要么只能将就着穿,要么就再裁剪修改一下,而这种对命令进行“裁剪”的行为就是加参数。例如创建一个编码为888的用户、仅查看文件的前20行、重启系统前先提醒其他用户等。参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用“--”与“-”作为前缀

长格式 man --help 

短格式 man -h

命令对象:一般指要处理的文件、目录、用户等资源名称,也就是命令执行后的“承受方”。例如创建一位叫小明的用户、查看一个叫工资表的文件、重启一个IP为192.168.10.10的系统等。

一、文件管理

1、ls命令 – 显示指定工作目录下的文件及属性信息

常用参数:

-a

显示所有文件及目录 (包括以“.”开头的隐藏文件)

-l

使用长格式列出文件及目录的详细信息

-r

将文件以相反次序显示(默认依英文字母次序)

-t

根据最后的修改时间排序

-A

同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)

-S

根据文件大小排序

-R

递归列出所有子目录

-d

查看目录的信息,而不是里面子文件的信息

-i

输出文件的inode节点信息

-m

水平列出文件,以逗号间隔

-X

按文件扩展名排序

--color

输出信息中带有着色效果

2、cp命令 – 复制文件或目录

常用参数:

-f

若目标文件已存在,则会直接覆盖原文件

-i

若目标文件已存在,则会询问是否覆盖

-p

保留源文件或目录的所有属性

-r

递归复制文件和目录

-d

当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录

-l

对源文件建立硬连接,而非复制文件

-s

对源文件建立符号连接,而非复制文件

-b

覆盖已存在的文件目标前将目标文件备份

-v

详细显示cp命令执行的操作过程

-a

等价于“pdr”选项

参考实例:

在当前工作目录中,将某个文件复制一份,并定义新文件名称:

cp anaconda-ks.cfg kickstart.cfg

在当前工作目录中,将某个目录复制一份,并定义新目录名称:

cp -r Documents Doc

复制某个文件时,保留其原始权限及用户归属信息:

cp -a kickstart.cfg ks.cfg

将某个文件复制到/etc目录中,并覆盖已有文件,不进行询问:

cp -f ks.cfg /etc

将多个文件一同复制到/etc目录中,如已有目标文件名称则默认询问是否覆盖:

cp anaconda-ks.cfg ks.cfg /etc

cp: overwrite '/etc/ks.cfg'? y

3、mkdir命令 – 创建文件夹

常用参数:

-p

递归创建多级目录

-m

建立目录的同时设置目录的权限

-z

设置安全上下文

-v

显示目录的创建过程

参考实例:

在当前工作目录中,建立一个目录文件:

mkdir dir1

在当前工作目录中,创建一个目录文件并设置700权限,不让除所有主以外任何人读、写、执行它:

mkdir -m 700 dir2

在当前工作目录中,一次性创建多个目录文件:

mkdir dir3 dir4 dir5

在系统根目录中,一次性创建多个有嵌套关系的目录文件:

mkdir -p /dir1/dir2/dir3/dir4/dir5

4、mv命令 – 移动或改名文件

常用参数:

-i

若存在同名文件,则向用户询问是否覆盖

-f

覆盖已有文件时,不进行任何提示

-b

当文件存在时,覆盖前为其创建一个备份

-u

当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作

参考实例:

在当前工作目录中,对某个文件进行剪切后粘贴(重命名)操作:

mv anaconda-ks.cfg ks.cfg

将某个文件移动到/etc目录中,保留文件原始名称:

mv ks.cfg /etc

将某个目录移动到/etc目录中,并定义新的目录名称:

mv Documents /etc/docs

将/home目录中所有的文件都移动到当前工作目录中,遇到已存在文件则直接覆盖:

mv -f /home/* .

5、pwd命令 – 显示当前工作目录的路径

常用参数:

-L

显示逻辑路径

6、touch命令 – 创建空文件与修改时间戳

常用参数:

-a

改变档案的读取时间记录

-m

改变档案的修改时间记录

-r

使用参考档的时间记录,与 --file 的效果一样

-c

不创建新文件

-d

设定时间与日期,可以使用各种不同的格式

-t

设定档案的时间记录,格式与 date 命令相同

--no-create

不创建新文件

--help

显示帮助信息

--version

列出版本讯息

参考实例:

创建出一个指定名称的空文件:

touch File.txt

结合通配符,创建出多个指定名称的空文件:

touch File{1..5}.txt

修改指定文件的查看时间和修改时间:

touch -d "2022-05-08 15:44" anaconda-ks.cfg

stat anaconda-ks.cfg

7、more命令 – 显示文本文件内容

常用参数:

-num

指定每屏显示的行数

-l

more在通常情况下把 ^L 当作特殊字符, 遇到这个字符就会暂停,-l选项可以阻止这种特性

-f 

计算实际的行数,而非自动换行的行数

-p

先清除屏幕再显示文本文件的剩余内容

-c

与-p相似,不滚屏,先显示内容再清除旧内容

-s

多个空行压缩成一行显示

-u

禁止下划线

+/pattern

在每个文档显示前搜寻该字(pattern),然后从该字串之后开始显示

+num 

从第 num 行开始显示

参考实例:

显示文件file的内容,显示之前先清屏,附已显示的百分比:

more -dc 文件名 

显示文件file的内容,每10行显示一次,而且在显示之前先清屏:

more -c -10 文件名

显示文件file的内容,每5行显示一次,而且在显示之后再清屏:

more -p -5 文件名

逐页显示 file 文档内容,如有连续两行以上空白行则以一行空白行显示 :

more -s 文件名 

从第 20 行开始显示 file 之文档内容 :

more +20 文件名 

8、which命令 – 查找文件

常用参数:

-n

指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名

-p

与-n参数相同,但此处的<文件名长度>包括了文件的路径

-w 

指定输出时栏位的宽度

-V

显示版本信息

参考实例:

查找文件、显示命令路径:

which bash
which adduser

说明:which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!

使用which去找which:

which which

说明:竟然会有两个 which ,其中一个是 alias 这就是所谓的[命令别名],意思是输入 which 会等于后面接的那串命令! 实Bash内建命令无法查找到如cd命令 :

which cd

9、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/c/p/l/f

匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)

-size

匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)

-prune

忽略某个目录

-exec …… {}\;

后面可跟用于进一步处理搜索结果的命令

参考实例:

全盘搜索系统中所有以.conf结尾的文件:

find / -name *.conf

在/etc目录中搜索所有大于1M大小的文件:

find /etc -size +1M

在/home目录中搜索所有属于指定用户的文件:

find /home -user linux

列出当前工作目录中的所有文件、目录以及子文件信息:

find .

在/var/log目录下搜索所有指定后缀的文件,后缀不区分大小写。

find /var/log -iname "*.log"

在/var/log目录下搜索所有后缀不是.log的文件:

find /var/log ! -name "*.log"

搜索当前工作目录中的所有近7天被修改过的文件:

find . -mtime +7

全盘搜索系统中所有类型为目录,且权限为1777的目录文件:

find / -type d -perm 1777

全盘搜索系统中所有类型为普通文件,且可以执行的文件信息:

find / -type f -perm /a=x

全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件:

find / -name "*.mp4" -exec rm -rf {} \;

10、chmod命令 - 改变文件或目录权限

常用参数:

-c

若该文件权限确实已经更改,才显示其更改动作

-f

若该文件权限无法被更改也不显示错误讯息

-v

显示权限变更的详细资料

-R

对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

参考实例:

设定某个文件的权限为775:

chmod 775 anaconda-ks.cfg

设定某个文件让任何人都可以读取:

chmod a+r anaconda-ks.cfg

设定某个目录及其内子文件任何人都可以读取和读取:

chmod -R a+r Documents

设定某个二进制命令文件上新增SUID特殊权限位:

chmod u+s /sbin/reboot

11、less命令 – 分页显示工具

常用参数:

-b

置缓冲区的大小

-e

当文件显示结束后,自动离开

-f

强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g

只标志最后搜索的关键词

-i

忽略搜索时的大小写

-m

显示类似more命令的百分比

-N

显示每行的行号

-o

将less 输出的内容在指定文件中保存起来

-Q

不使用警告音

-s

显示连续空行为一行

-S

在单行显示较长的内容,而不换行显示

-x

将TAB字符显示为指定个数的空格字符

参考实例:

查看文件 :

less test.php

ps查看进程信息并通过less分页显示:

ps -ef | less

查看命令历史使用记录并通过less分页显示:

history | less

浏览多个文件 :

less log2018.log log2019.log

less file1

12、chown命令 – 改变文件或目录的用户和用户组

常用参数:

-R

对目前目录下的所有文件与目录进行相同的变更

-c

显示所属信息变更信息

-f

若该文件拥有者无法被更改也不要显示错误

-h

只对于链接文件进行变更,而非真正指向的文件

-v

显示拥有者变更的详细资料

--help

显示辅助说明

--version

显示版本

参考实例:

改变指定文件的所属主与所属组:

chown root:root /etc/fstab

改变指定文件的所属主与所属组,并显示过程:

chown -c linuxprobe:linuxprobe /etc/fstab

改变指定目录及其内所有子文件的所属主与所属组:

chown -R root:root /etc

13、awk命令 – 文本和数据进行处理的编程语言

常用参数:

-F

指定输入时用到的字段分隔符

-v

自定义变量

-f

从脚本中读取awk命令

-m

对val值设置内在限制

参考实例:

仅显示指定文件中第1、2列的内容(默认以空格为间隔符):

awk '{print $1,$2}' anaconda-ks.cfg

以冒号为间隔符,仅显示指定文件中第1列的内容:

awk -F : '{print $1}' /etc/passwd

以冒号为间隔符,显示系统中所有UID号码大于500的用户信息(第3列):

awk -F : '$3>=500' /etc/passwd

仅显示指定文件中含有指定关键词root的内容:

awk '/root/{print}' anaconda-ks.cfg

以冒号为间隔符,仅显示指定文件中最后一个字段的内容:

awk -F: '{print $NF}' /etc/passwd

二、文档编辑

14、cat命令 – 在终端设备上显示文件内容

常用参数:

-n

显示行数(空行也编号)

-s

显示行数(多个空行算一个编号)

-b

显示行数(空行不编号)

-E

每行结束处显示$符号

-T

将TAB字符显示为 ^I符号

-v

使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

-e

等价于”-vE”组合

-t

等价于”-vT”组合

-A

等价于 -vET组合

--help

显示帮助信息

--version

显示版本信息

参考实例:

查看某个文件的内容:

cat anaconda-ks.cfg

查看某个文件的内容,并显示行号:

cat -n anaconda-ks.cfg

搭配空设备文件和输出重定向操作符,将某个文件内容清空:

cat /dev/null > anaconda-ks.cfg

cat anaconda-ks.cfg

持续写入文件内容,直到碰到WQ符后才会结束并保存:

cat > anaconda-ks.cfg << WQ

cat anaconda-ks.cfg

搭配输出重定向操作符,将光盘设备制作成镜像文件:

cat /dev/cdrom > rhel.iso

ls rhel.iso  -lh

15、echo命令 – 输出字符串或提取后的变量值

常用参数:

-n

不输出结尾的换行符

-e “\a”

发出警告音

-e “\b”

删除前面的一个字符

-e “\c”

结尾不加换行符

-e “\f”

换行,光标扔停留在原来的坐标位置

-e “\n”

换行,光标移至行首

-e “\r”

光标移至行首,但不换行

-E

禁止反斜杠转移,与-e参数功能相反

—version

查看版本信息

--help

查看帮助信息

参考实例:

输出指定字符串到终端设备界面(默认为电脑屏幕):

echo HelloLinux

输出某个变量值内容:

echo $PATH

搭配转义符一起使用,输出纯字符串内容:

echo \$PATH

搭配输出重定向符一起使用,将字符串内容直接写入文件中:

echo "Hello World" > Document

搭配反引号执行命令,并将执行结果输出:

echo `uptime`

输出带有换行符的内容:

echo -e "First\nSecond\nThird"

指定删除字符串中某些字符,随后将内容输出:

echo -e "123\b456"

16、rm命令 – 删除文件或目录

常用参数:

-f

强制删除(不二次询问)

-i

删除前会询问用户是否操作

-r/R

递归删除

-v

显示指令的详细执行过程

参考实例:

删除某个文件,默认会进行二次确认,敲击y进行确认。

rm anaconda-ks.cfg

删除某个文件,强制操作不需要二次确认:

rm -f initial-setup-ks.cfg

删除某个目录及其内的子文件或子目录,一并都强制删除:

rm -rf Documents

强制删除当前工作目录内的所有以.txt为后缀的文件

rm -f *.txt

17、tail命令 – 查看文件尾部内容

常用参数:

-c

输出文件尾部的N(N为整数)个字节内容

-f

持续显示文件最新追加的内容

-F <N>

与选项“-follow=name”和“--retry”连用时功能相同

-n <N>

输出文件的尾部N(N位数字)行内容

--retry

即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。

--pid=<进程号>

与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令

--help

显示指令的帮助信息

--version

显示指令的版本信息

参考实例:

默认显示某个文件尾部的后10行内容:

tail initial-setup-ks.cfg

指定显示某个文件尾部的后5行内容:

tail -n 5 initial-setup-ks.cfg

指定显示某个文件尾部的后15个字节:

tail -c 30 initial-setup-ks.cfg

持续刷新显示某个文件尾部的后10行内容:

tail -f /var/log/messages

18、grep命令 – 强大的文本搜索工具

常用参数:

-i

忽略大小写

-c

只输出匹配行的数量

-l

只列出符合匹配的文件名,不列出具体的匹配行

-n

列出所有的匹配行,显示行号

-h

查询多文件时不显示文件名

-s

不显示不存在、没有匹配文本的错误信息

-v

显示不包含匹配文本的所有行

-w

匹配整词

-x

匹配整行

-r

递归搜索

-q

禁止输出任何结果,已退出状态表示搜索是否成功

-b

打印匹配行距文件头部的偏移量,以字节为单位

-o

与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位

-F

匹配固定字符串的内容

-E

支持扩展的正则表达式

参考实例:

搜索某个文件中,包含某个关键词的内容:

grep root /etc/passwd

搜索某个文件中,以某个关键词开头的内容:

grep ^root /etc/passwd

搜索多个文件中,包含某个关键词的内容:

grep linux /etc/passwd /etc/shadow

搜索多个文件中,包含某个关键词的内容,不显示文件名称:

grep -h linuxprobe /etc/passwd /etc/shadow

输出在某个文件中,包含某个关键词行的数量:

grep -c root /etc/passwd /etc/shadow

搜索某个文件中,包含某个关键词位置的行号及内容:

grep -n network anaconda-ks.cfg

搜索某个文件中,不包含某个关键词的内容:

grep -v nologin /etc/passwd

搜索当前工作目录中,包含某个关键词内容的文件,未找到则提示:

grep -l root *

搜索当前工作目录中,包含某个关键词内容的文件,未找到不提示:

grep -sl root *

递归搜索,不仅搜索指定目录,还搜索其内子目录内是否有关键词文件:

grep -srl root /etc

搜索某个文件中,精准匹配到某个关键词的内容(搜索词应与整行内容完全一样才会显示,有别于一般搜索):

grep -x cd anaconda-ks.cfg

grep -x cdrom anaconda-ks.cfg

判断某个文件中,是否包含某个关键词,通过返回状态值输出结果(0为包含,1为不包含),方便在Shell脚本中判断和调用:

grep -q linuxprobe anaconda-ks.cfg

echo $?

grep -q linuxcool anaconda-ks.cfg

echo $?

搜索某个文件中,空行的数量:

grep -c ^$ anaconda-ks.cfg

19、tr命令 – 字符转换

常用参数:

-c

选定字符串1中字符集的补集,即反选字符串1的补集

-d

删除字符串1中出现的所有字符

-s

删除所有重复出现的字符序列,只保留一个

参考实例:

实现大小字母的转换:

cat file_1
tr "[a-z]" "[A-Z]" <file_1

删除file_1中的小写字母:

tr -d "[a-z]" <file_1

压缩重复的空白行:

cat file_2
tr -s "[\n]" <file_2

20、expr命令 – 命令行计数器

常用参数:

空格

隔开每个项

\(反斜杠)

放在 shell 特定的字符前面

“”(引号)

对包含空格和其他特殊字符的字符串要用引号括起来

参考实例:

计算字串长度:

[root@localhost ~]# expr length “this is a test”  
14

抓取字串:

[root@localhost ~]# expr substr “this is a test” 3 5
is is

抓取第一个字符串出现的位置:

[root@localhost ~]# expr index "sarasara" a
2

整数运算:

[root@localhost ~]# expr 14 % 9
5  
[root@localhost ~]# expr 10 + 10
20
[root@localhost ~]# expr 1000 + 900
1900
[root@localhost ~]# expr 30 / 3 / 2
5
[root@localhost ~]# expr 30 * 3  
expr: Syntax error  
[root@localhost ~]# expr 30 \* 3
90

注意:使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义

使用expr进行四则运算:

[root@localhost ~]# expr \( 10 + 10 \) \* 2 + 100
140

21、sed命令 – 批量编辑文本文件

常用参数:

-e或--expression=<script>

以指定的脚本来处理输入的文本文件

-f<script文件>或--file=<script文件>

以指定的脚本文件来处理输入的文本文件

-h或--help

显示帮助

-n或--quiet或--silent

仅显示script处理后的结果

-V或--version

显示版本信息

参考实例:

查找指定文件中带有某个关键词的行:

[root@locahost ~]# cat -n anaconda-ks.cfg | sed -n '/root/p'

替换指定文件中某个关键词成大写形式:

[root@locahost ~]# sed 's/root/ROOT/g' anaconda-ks.cfg

………………省略输出信息………………

读取指定文件,删除所有带有某个关键词的行:

[root@linuxcool ~]# sed '/root/d' anaconda-ks.cfg

………………省略输出信息………………

读取指定文件,在第4行后插入一行新内容:

[root@locahost ~]# sed -e 4a\NewLine anaconda-ks.cfg

#version=RHEL8

ignoredisk --only-use=sda

autopart --type=lvm

# Partition clearing information

NewLine

………………省略部分输出信息………………

读取指定文件,在第4行后插入多行新内容:

[root@locahost ~]# cat anaconda-ks.cfg  | sed -e '4a NewLine1 \

> NewLine2 \

> NewLine3 '

#version=RHEL8

ignoredisk --only-use=sda

autopart --type=lvm

# Partition clearing information

NewLine1

NewLine2

NewLine3

clearpart --none --initlabel

# Use graphical install

graphical

………………省略部分输出信息………………

读取指定文件,删除第2-5行的内容:

cat  -n /etc/passwd | sed '2,5d'

读取指定文件,替换第2-5行的内容:

sed '2,5c NewSentence' anaconda-ks.cfg

指定读取某个文件的第3-7行:

sed -n '3,7p' anaconda-ks.cfg

三、系统管理

22、top命令 – 实时显示系统运行状态

常用参数:

-d <秒>

改变显示的更新速度

-c 

切换显示模式

-s

安全模式,不允许交互式指令

-i

不显示任何闲置或僵死的行程

-n

设定显示的总次数,完成后将会自动退出

-b

批处理模式,不进行交互式显示

参考实例:

以默认格式显示系统运行信息:

top

以默认格式显示系统运行信息,但提供完整的进程路径及名称:

top -c    

以批处理模式显示程序信息:

top -b

设定每隔5秒刷新一次信息:

top -d 5

设定总显示次数为3回,随后自动退出命令:

top -n 5

23、rpm命令 – RPM软件包管理器

常用参数:

-a

查询所有的软件包

-b或-t

设置包装套件的完成阶段,并指定套件档的文件名称;

-c

只列出组态配置文件,本参数需配合”-l”参数使用

-d

只列出文本文件,本参数需配合”-l”参数使用

-e

卸载软件包

-f

查询文件或命令属于哪个软件包

-h

安装软件包时列出标记

-i

安装软件包

-l

显示软件包的文件列表

-p

查询指定的rpm软件包

-q

查询软件包

-R

显示软件包的依赖关系

-s

显示文件状态,本参数需配合”-l”参数使用

-U

升级软件包

-v

显示命令执行过程

-vv

详细显示指令执行过程

参考实例:

正常安装软件包:

rpm -ivh cockpit-185-2.el8.x86_64.rpm

显示系统已安装过的全部RPM软件包:

rpm -qa

查询某个软件的安装路径:

rpm -ql cockpit

卸载某个通过RPM软件包安装的服务:

rpm -evh cockpit

升级某个软件包:

rpm -Uvh cockpit-185-2.el8.x86_64.rpm

24、sudo命令 – 授权普通用户执行管理员命令

常用参数:

-v

本次需要验证当前用户的密码

-k

下次强制验证当前用户的密码

-b

将要执行的指令放在后台执行

-p

更改需要密码验证时的提示语

-s

指定默认调用的SHELL解释器

参考实例:

查看当前用户有哪些被sudo服务授权的命令:

sudo -l

使用某个被sudo服务允许的用户身份来执行管理员的重启命令:

sudo -u linuxprobe "reboot"

使用当前用户身份,基于sudo命令来执行管理员的重启命令:

sudo reboot

25、whoami - 打印当前登录用户

常用参数:

--help

在线帮助

--version

显示版本信息

参考实例:

查询当前登录的用户名:

whoami

26、useradd命令 – 创建并设置用户信息

常用参数:

-D

改变新建用户的预设值

-c

添加备注文字

-d

新用户每次登陆时所使用的家目录

-e

用户终止日期,日期的格式为YYYY-MM-DD

-f

用户过期几日后永久停权。当值为0时用户立即被停权,而值为-1时则关闭此功能,预设值为-1

-g

指定用户对应的用户组

-G

定义此用户为多个不同组的成员

-m

用户目录不存在时则自动创建

-M

不建立用户家目录,优先于/etc/login.defs文件设定

-n

取消建立以用户名称为名的群组

-r

建立系统帐号

-u

指定用户id

参考实例:

创建指定的用户信息:

useradd user1

创建指定的用户信息,但不创建家目录,亦不让登录系统:

useradd -M -s /sbin/nologin user2

创建指定的用户信息,并自定义UID值:

useradd -u 6688 user3

创建指定的用户信息,并追加指定组为该账户的扩展组:

useradd -G root user4

创建指定的用户信息,并指定过期时间:

useradd -e "2023/01/01" user5

27、su命令 – 切换用户身份

常用参数:

单个减号(-)

完全身份变更

-c

执行完指定的指令后,即恢复原来的身份

-f

适用于csh与tsch,使shell不用去读取启动文件

-l

改变身份时,也同时变更工作目录

-m

变更身份时,不要变更环境变量

-s

指定要执行的shell

--help

显示帮助信息

--version

显示版本信息

参考实例:

变更至指定用户身份:

su linuxcool

完全变更至指定用户身份:

su - linuxcool  

28、reboot命令 - 重启系统

reboot命令用于重启系统,输入该命令后按回车键执行即可。

29、poweroff命令 - 关闭系统

poweroff命令用于关闭系统,输入该命令后按回车键执行即可。

30、kill命令 - 终止指定进程

强制停止sshd服务。

kill 2156

但有时系统会提示进程无法被终止,此时可以加参数-9,表示最高级别地强制杀死进程:

kill -9 2156

31、id命令 – 显示用户ID和组ID

常用参数:

-g

显示用户所属群组的ID

-G

显示用户所属附加群组的ID

-n

显示用户,所属群组或附加群组的名称

-r

显示实际ID

-u

显示用户ID

--help

显示帮助

--version

显示版本信息

参考实例:

显示当前用户的所有信息:

id

显示用户所属群组的ID:

id -g

显示用户所属附加群组的ID:

id -G

显示指定用户信息:

id root

四、其他命令

32、du命令 – 查看文件或目录的大小

常用参数:

-a

显示目录中所有文件大小

-k

以KB为单位显示文件大小

-m

以MB为单位显示文件大小

-g

以GB为单位显示文件大小

-h

以易读方式显示文件大小

-s

仅显示总计

参考实例:

以易读的容量格式显示指定目录内各个文件的大小信息:

du -h /etc

以易读的容量格式显示指定目录内总文件的大小信息:

du -sh /etc

显示指定文件的大小信息(默认单位为K):

du anaconda-ks.cfg

33、ping命令 – 测试主机间网络连通性

常用参数:

-d

使用Socket的SO_DEBUG功能

-c

指定发送报文的次数

-i

指定收发信息的间隔时间

-I

使用指定的网络接口送出数据包

-l

设置在送出要求信息之前,先行发出的数据包

-n

只输出数值

-p

设置填满数据包的范本样式

-q

不显示指令执行过程

-R

记录路由过程

-s

设置数据包的大小

-t

设置存活数值TTL的大小

-v

详细显示指令的执行过程

-W

在等待 timeout 秒后开始执行

参考实例:

测试与指定网站服务器之间的网络连通性(需手动按下“Ctrl+c”组合键结束命令):

ping www.linuxcool.com

测试与指定网站服务器之间的网络连通性,发送请求包限定为4次:

ping -c 4 www.linuxcool.com

测试与指定主机之间的网络连通性,发送3次请求包,每次间隔0.2秒,最长等待时间为3秒:

ping -c 3 -i 0.2 -W 3 192.168.10.10

34、head命令 – 显示文件开头内容

常用参数:

-n

后面接数字,代表显示几行的意思

-c

指定显示头部内容的字符数

-v

总是显示文件名的头信息

-q

不显示文件名的头信息

参考实例:

显示前3行文件内容:

head -n 3 install.log

显示文件名信息,并显示文件前两行:

head -v -n 2 test.txt

显示文件前5个字符:

head -c 5 test.txt

35、history命令 – 显示与操纵历史命令

常用参数:

-a

写入命令记录

-c

清空命令记录

-d

删除指定序号的命令记录

-n

读取命令记录

-r

读取命令记录到缓冲区

-s

将指定的命令添加到缓冲区

-w

将缓冲区信息写入到历史文件

参考实例:

显示执行过的全部命令记录:

history

显示执行过的最近5条命令:

history 5

将本次缓存区信息写入到历史文件中(~/.bash_history):

history -w

将历史文件中的信息读入到当前缓冲区中:

history -r  

将本次缓冲区信息追加写入到历史文件中(~/.bash_history):

history -a  

清空本次缓冲区及历史文件中的信息:

history -c

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值