linux常用命令汇总

文章目录

    • 1. 文件管理
      • 1. cat
      • 2. chgrp
      • 3. chmod
      • 4. chown
      • 5. diff
      • 6. file
      • 7. find
      • 8. ln
      • 9. less
      • 10. locate
      • 11. mv
      • 12. od
      • 13. paste
      • 14. rm
      • 15. split
      • 16. touch
      • 17. which
      • 18. cp
      • 19. whereis
      • 20. scp
      • 21. awk
    • 2. 文档编辑
      • 1. csplt
      • 2. grep
      • 3. egrep
      • 4. sed
      • 5. sort
      • 6. uniq
      • 7. wc
    • 3. 磁盘管理
      • 1. df
      • 2. du
      • 3. mkdir
      • 4. rmdir
      • 5. stat
      • 6. tree
      • 7. mount
      • 8. umount
      • 9. lndir
    • 4. 网络通讯
      • 1. telnet
      • 2. ifconfig
      • 3. netstat
      • 4. ping
      • 5. traceroute
      • 6. tcpdump
      • 7. smbd
    • 5. 系统管理
      • 1. adduser/useradd
      • 2. date
      • 3. exit
      • 4. sleep
      • 5. kill
      • 6. last
      • 7. ps
      • 8. nice
      • 9. top
      • 10. pstree
      • 11. reboot
      • 12. shutdown
      • 13. su
      • 14. sudo
      • 15. uname
      • 16. who
      • 17. id
    • 6. 系统设置
      • 1. clear
      • 2. chroot
      • 7. clock
      • 8. crontab
      • 9. dmesg
      • 10. export
      • 11. rpm
      • 12. passwd
      • 13. time
      • 14. alias/.bashrc
        • 1. alias
        • 2. .bashrc
      • 15. unalias
    • 7. 备份压缩
      • 1. bzip2
      • 2. bzip2recover
      • 3. gunzip
      • 4. gzip
      • 5. zip
      • 6. unzip
      • 7. cpio
      • 8. dump/restore

1. 文件管理

1. cat

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。
语法:cat(选项)(参数)

选项:

-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;

实例:

cat m1 m2 (同时显示文件ml和m2的内容)
cat m1 m2 > file  (将文件ml和m2合并后放入文件file中)

2. chgrp

chgrp是英语单词“change group”的缩写,用于变更文件或目录的所属群组。

3. chmod

chmod命令的英文原意是“change the permissions mode of a file”,我们简称为“change mode”,意为用来改变文件或目录权限的命令。

实例——给所有用户添加可执行权限:

chmod +x file

4. chown

chown 命令可以将指定文件的拥有者改为指定的用户或组。

5. diff

diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录 。
实例:

diff file1 file2

6. file

file命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型。
实例:

$ file omdc.txt 
omdc.txt: UTF-8 Unicode C++ program text

7. find

find命令可以根据给定的路径和表达式查找的文件或目录。

语法:find path -option [-print] [-exec -ok command] {}

常用参数:

参数 说明
-name 按名称查找
-size 按大小查找
-user 按属性查找
-type 按类型查找
-iname 忽略大小写
-cmin 在过去 n 分钟内被修改过
-ctime 在过去n天内被修改过的文件
-type 文件类型。(d: 目录;f: 一般文件;l: 符号连结;s: socket)
实例:
// 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
find . -name "*.c"
find . -name -regex *.c     (使用正则表达式 regex)

// 将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
find . -ctime  20

// 查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
find /var/log -type f -mtime +7 -ok rm {} \;

// 查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
find / -type f -size 0 -exec ls -l {} \;

// 只输出文件名字,不携带路径
find . -name '*.bz2' -printf '%f\n'

8. ln

全称是“link”,即链接。功能是为某一个文件在另外一个位置建立一个同步的链接。

  • 硬链接(hard link):和源文件一样的大小,但是事实上却不占任何空间;
  • 符号链接(symbolic link):类似windows快捷方式。

语法格式: ln [参数] [源文件或目录] [目标文件或目录]

实例:

-->$ touch f1           # 创建一个测试文件f1
-->$ ln f1 f2           # 创建f1的一个硬连接文件f2
-->$ ln -s f1 f3        # 创建f1的一个符号连接文件f3
-->$ echo "12345678901234567890" > f1  # 写入数据
-->$ ls -l
total 8
-rw-rw-r-- 2  21 Mar 11 12:02 f1    # f1 和 f2 大小一样
-rw-rw-r-- 2  21 Mar 11 12:02 f2
lrwxrwxrwx 1   2 Mar 11 11:58 f3 -> f1

9. less

浏览文字档案的内容,用less命令显示文件时,PageUp键向上翻页,PageDown键向下翻页,要退出less程序,应按Q键。

10. locate

查找符合条件的文档,速度比 find -name 快。
原因在于它不搜索具体目录,而是搜索一个数据库 /var/lib/slocate/slocate.db 。

语法:locate [参数] [文件]
数据库升级:updatedb

11. mv

mv命令是“move”单词的缩写,其功能大致和英文含义一样,可以移动文件或对其改名。

12. od

读取所给予的文件的内容,并将其内容以八进制字码呈现出来。

13. paste

把每个文件以列对列的方式,一列列地加以合并 ,形成新的文件。

注意:paste默认粘贴方式以列的方式粘贴,但是并不是不能以行的方式粘贴,加上-s选项就可以行方式粘贴。

语法:paste [参数] [文件1] [文件2]

常用参数:

参数 含义
-d 默认域的分隔符是空格或tab键,设置新的域分隔符
-s 将每个文件粘贴成一行

14. rm

删除一个目录中的一个或多个文件或目录。

15. split

将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件 。
语法:split [参数] [切割文件][文件名]
参数:-b 指定每多少字节切成一个小文件

实例:
将文件file每6行切割成一个文件:split -6 file

16. touch

两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。
语法:touch [参数] [文件]

17. which

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
实例:

$ which goto
alias goto='/usr/local/bin/ssh_ftsso -p32000 -lops '
	/usr/local/bin/ssh_ftsso
$ [neilnie@gzqc6-null-204-null ~]$ which git
/usr/bin/git
$ which bash
/bin/bash

18. cp

复制文件或目录。

19. whereis

用来定位命令的二进制程序、源代码文件和man手册页等相关文件的路径。
在一个数据库中查询,通过执行updatedb命令更新

20. scp

scp是 secure copy的缩写,基于ssh登陆进行安全的远程文件拷贝命令。

21. awk

awk命令是一种编程语言,用于在linux/unix下对文本和数据进行处理。
语法:awk [参数] [文件]
参数: -F 指定输入时用到的字段分隔符

实例:
打印每一行的第二和第三个字段:

awk '{ print $2,$3 }' file 

2. 文档编辑

1. csplt

全称“context split”,用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件。
csplit命令是split的一个变体,split只能够根据文件大小或行数来分割,但csplit能够根据文件本身特点来分割文件。

语法:csplit [参数]
参数:-f 制定文件名前缀

实例:
将文本文件filename以第 2 行为分界点切割成两份:

csplit filename 2

将文本文件textfile以120行为分界点切割成2份,并指定输出文件名的前缘为fileName位数为3:

csplit -f fileName testfile 120 

将文本文件 filename 以每20行为单位分割:

csplit filename 20 {*} 

2. grep

作用是在文件内查找指定的字符串。
语法:grep [参数]
参数:
-i:忽略大小写
-c:只输出匹配行的数量
-n:列出所有的匹配行,显示行号

3. egrep

作用是在文件内查找指定的字符串。
egrep执行效果与grep -E相似。不同点:

  • grep不支持 a|b 或 (abc|xyz) 这类”或一”比对, 但egrep可以。
  • grep在处理 {n,m} 时, 需用 { 与 } 处理, 但egrep则不需要。

语法:egrep [参数] [文件]
参数:见grep

实例:
筛选包含“a”一个或一个以上的字符:

egrep 'a+'  linux265.txt

筛选字符串包含abc或123的字符:

egrep 'abc|123' linux265.txt

4. sed

依照脚本的指令来处理、编辑文本文件。
语法:sed [-e

参数说明:

  • -e

动作说明:

  • s: 替换指定字符。 ‘s/old/new’
  • a: 追加
  • i: 插入

替换标记:

  • 数字: 第几次出现才进行替换
  • g: 行内全面替换

字符集:

  • ^: 匹配行开始,如:/^sed/匹配所有以sed开头的行。
  • :匹配行结束,如: / s e d : 匹配行结束,如:/sed :匹配行结束,如:/sed/匹配所有以sed结尾的行。
  • .: 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
  • *: 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
  • []: 匹配一个指定范围内的字符,如/[sS]ed/匹配sed和Sed。
  • [*]: 匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。

实例:
在testfile文件的第四行后添加一行,并输出:

sed -e 4a\newLine testfile 

删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell:

nl /etc/passwd | sed -e '3,$d' -e 's/bash/blueshell/'

5. sort

对文件进行排序,并将排序结果标准输出。
语法:sort [参数] [文件]
参数:

  • -b: 忽略每行前面开始出的空格字符
  • -f: 排序时,将小写字母视为大写字母
  • -n: 依照数值的大小排序
  • -r: 以相反的顺序来排序
  • -t <分隔字符>: 指定排序时所用的栏位分隔字符
  • -k: 指定需要排序的栏位

实例:

sort -nk 2 -t: sort.txt

6. uniq

作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。

语法:uniq [参数] [文件]
参数:

  • c: 打印每行在文本中重复出现的次数
  • d: 只显示有重复的纪录,每个重复纪录只出现一次
  • u: 只显示没有重复的纪录

实例:

  1. 打印每行在文件中出现重复的次数:
# uniq -c testfile 
       3 test 30  
       4 Hello 95  
       2 Linux 85

7. wc

统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
语法:wc [参数] [文件]
参数:

  • -w: 统计字数,或–words:只显示字数。
  • -c: 统计字节数。
  • -l: 统计行数,或–lines:只显示列数
  • -m: 统计字符数
  • -L: 打印最长行的长度

3. 磁盘管理

1. df

df命令的英文全称即“Disk Free”,用于显示系统上可使用的磁盘空间。
语法:df [参数] [指定文件]
参数:

  • -h: 以容易阅读的方式显示
  • -a: 显示所有系统文件
  • -i: 显示索引字节信息

2. du

du命令的英文全称是“Disk Usage”,即用于查看磁盘占用空间的意思。与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。
语法:du [参数] [文件]
参数:

  • -h: 以易读方式显示文件大小
  • -a: 显示目录中所有文件大小
  • -k: 以KB为单位显示文件大小
  • -m: 以MB为单位显示文件大小
  • -g: 以GB为单位显示文件大小
  • -s: 仅显示总计

实例:

du -sh *

3. mkdir

“make directories”的缩写,用来创建目录。
语法 : mkdir [参数] [目录]
参数:

  • -p: 递归创建多级目录
  • -m: 建立目录的同时设置目录的权限
  • -v: 显示目录的创建过程

实例:
在目录/usr/linux265下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问:

mkdir -m 700 /usr/linux265/dir

递归创建目录:

mkdir -p linux265/dir

4. rmdir

删除空的目录,英文全称:“remove directory”。
注意:rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的rm命令。

5. stat

显示文件或文件系统的详细信息。
语法:stat [参数]
参数:

  • -L: 支持符号链接
  • -f: 显示文件系统的信息
  • -t: 以简洁的方式输出

6. tree

用于以树状图形式列出目录的内容。
语法:tree[参数]
参数:

  • -a: 显示所有文件和目录
  • -A: 使用ASNI绘图字符显示树状图而非以ASCII字符组合
  • -D: 列出文件或目录的更改时间
  • -L: 层级显示

实例:tree -A -L 2

7. mount

用于加载文件系统到指定的加载点。

8. umount

作用是卸载已安装的文件系统、目录或文件。

9. lndir

用于连接目录内容。执行lndir命令可以把源目录底下的文件和子目录统统建立起相互对应的符号连接。
语法:lndir [参数][源目录][目的目录]

实例:
给目录下所有的文件或者子文件目录建立链接:

lndir /home/uptech abc  

4. 网络通讯

1. telnet

执行telnet指令开启终端机阶段作业,并登入远端主机。

语法: telnet [参数][主机]

实例:

// 登录本机 9991 端口
telnet 127.0.0.1 9991
telnet 0 9991

2. ifconfig

全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。

语法:ifconfig [参数]
参数:

  • add<地址>: 设置网络设备IPv6的IP地址
  • del<地址>: 删除网络设备IPv6的IP地址
  • down: 关闭指定的网络设备
  • up: 启动指定的网络设备
  • IP地址: 指定网络设备的IP地址

3. netstat

netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

语法:netstat [参数]
参数:

  • -a: 显示所有连线中的Socket
  • -p: 显示正在使用Socket的程序识别码和程序名称
  • -u: 显示UDP传输协议的连线状况
  • -i: 显示网络界面信息表单
  • -n: 直接使用IP地址,不通过域名服务器

实例:

// 查看9991端口连接信息
netstat -anp|grep 9991

4. ping

主要用来测试主机之间网络的连通性。

语法:ping [参数] [目标主机]
参数:

  • -c: 指定发送报文的次数
  • -i: 指定收发信息的间隔时间
  • -R: 记录路由过程
  • -s: 设置数据包的大小
  • -t: 设置存活数值TTL的大小
  • -v: 详细显示指令的执行过程

实例:

// 检测与linux265网站的连通性:
ping www.linux265.com

// 连续ping4次:
ping -c 4 www.linux265.com 

5. traceroute

用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。

traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

语法: traceroute [参数] [域名或者IP]
参数:

  • -m<存活数值>: 设置检测数据包的最大存活数值TTL的大小
  • -n: 直接使用IP地址而非主机名称
  • -w: 设置等待远端主机回报的时间

实例:

// 追踪本地数据包到www.linuxprobe.com的传输路径:
traceroute www.linuxprobe.com

// 把探测包的个数设置为值4:
traceroute -q 4 www.linuxprobe.com

// 把对外发探测包的等待响应时间设置为3秒:
traceroute -w 3 www.linuxprobe.com

6. tcpdump

linux上的抓包工具,嗅探器。可以打印出所有经过网络接口的数据包的头信息。

语法: tcpdump [参数]
参数:

  • -a: 尝试将网络和广播地址转换成名称
  • -c<数据包数目>: 收到指定的数据包数目后,就停止进行倾倒操作
  • -d: 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出
  • -dd: 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出
  • -ddd: 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出
  • -i<网络界面>: 使用指定的网络截面送出数据包
  • -f: 用数字显示网际网络地址
  • -tt: 在每列倾倒资料上显示未经格式化的时间戳记
  • -w<数据包文件>: 把数据包数据写入指定的文件

实例:

// 监视指定网络接口的数据包:
tcpdump -i eth0

// 监视指定主机的数据包:
tcpdump host linux265

// 截获主机192.168.10.10 和主机192.168.10.20 或192.168.10.30的通信:
tcpdump host 192.168.10.10 and \ (192.168.10.20 or 192.168.10.30 \)

// 抓取80端口的HTTP报文,以文本形式展示:
tcpdump -i any port 80 -A

7. smbd

mbd为Samba服务器程序,可分享文件与打印机等网络资源供Windows相关的用户端程序存取。

语法: smbd [参数]

  • -D: 使用此参数时,smbd会以服务程序的方式在后台执行
  • -s: 指定smbd的设置文件

实例:

// 启动Samba服务器:
smbd -D 

5. 系统管理

1. adduser/useradd

用于新增使用者帐号或更新预设的使用者资料。

adduser 与 useradd 指令为同一指令(经由符号连结 symbolic link)。

语法: adduser [参数] 用户名
参数:

  • -d: 指定用户的家目录(默认用户名目录为/home/用户名,root用户名家目录是/root)
  • -g: 指定用户所属组
  • -M: 不自动建立用户登录的目录(默认的用户登录目录是用户家目录)
  • -u: 指定用户id
  • -e: 设定此帐号的使用期限(格式为 YYYY-MM-DD),预设值为永久有效

添加用户: useradd -m 用户名
设置密码: passwd 用户名
删除用户: userdel -r 用户名

实例:

// 建立名为test123的用户账号:
adduser test123

// 建立账号并指定有效期为2023年3月12日:
adduser -e 3/12/23 test123

// 为新添加的用户指定/home目录:
useradd -d /home/test test123  

2. date

用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记 。

语法: date [选项] [+输出形式]

参数:

  • -d datestr: 显示 datestr 中所设定的时间 (非系统时间)
  • -s datestr: 将系统时间设为 datestr 中所设定的时间
  • -u: 显示目前的格林威治时间

实例:

// 显示当前时间:
$ date
Sun Mar 12 20:25:03 CST 2023
$ date '+%c'
Sun 12 Mar 2023 08:25:06 PM CST

$ 获取系统时区
$ date +%z
+0800

// 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
$ date +%s
1678624136

// 将时间戳转换成日期格式:
$ date -d @1678624136
Sun Mar 12 20:28:56 CST 2023

// 显示当前时间年月日小时分秒
$ date +"当前时间为:%Y/%m/%D %H:%M:%S"
当前时间为:2023/03/03/14/23 17:20:15

3. exit

用来退出当前的shell或退出终端 ,并返回给定值。

语法:exit [状态值]
参数:

  • 0: 执行成功
  • 1: 执行失败
  • $?: 参照上一个状态值

4. sleep

用来将目前动作延迟一段时间, 直到达到参数所指定的时间或是被信号所中断。

语法: sleep [参数]
参数:

  • number: 时间长度,后面可接 s、m、h 或 d
  • smhd: s 为秒,m 为 分钟,h 为小时,d 为日数

实例:

// 休眠5分钟:
sleep 5m

// 显示目前时间后延迟 1 分钟,再次显示时间:
date ; sleep 1m ; date

5. kill

用来删除执行中的程序或工作。

kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业。

语法: kill [参数] [进程号]

6. last

显示近期用户或终端的登录情况。

执行last命令时,它会读取/var/log目录下名称为wtmp的文件,并把该文件记录的登录系统或终端的用户名单全部显示出来。

语法: last [选项]
参数:

  • -R: 省略主机名 hostname 的列
  • -n<显示行数>或-<显示行数>: 显示名单的行数

实例:

// 显示近期用户或终端的登录情况:
last

// 显示两行,并省略主机列:
last -R -2
last -R -n 2

7. ps

ps命令是“process status”的缩写,用于显示当前系统的进程状态。

语法:ps [参数]
参数:

  • -a: 显示所有终端机下执行的程序,除了阶段作业领导者之外
  • a: 显示现行终端机下的所有程序,包括其他用户的程序
  • -A: 显示所有程序
  • u: 以用户为主的格式来显示程序状况
  • x: 显示所有程序,不以终端机来区分
  • -e: 此选项的效果和指定”A”选项相同
  • -f: 显示UID,PPIP,C与STIME栏位

实例:

// 把所有进程显示出来:
ps -aux
ps -A    

// 查找特定进程信息:
ps -ef | grep ssh
ps -aux | grep ssh

8. nice

用于调整进程的执行优先级。

语法:nice [参数] [命令]
参数:

  • -n: 后面接一个数值,范围在-20~19

9. top

是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。

语法:top [参数]
参数:

  • d: 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
  • c: 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
  • s: 安全模式,将交谈式指令取消, 避免潜在的危机
  • i: 不显示任何闲置 (idle) 或无用 (zombie) 的进程
  • n: 更新的次数,完成后将会退出 top
  • b: 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内

实例:

// 显示完整命令
top -c

// 表示更新两次后终止更新显示
top -n 2

// 更新周期为3秒
top -d 3

10. pstree

pstree命令的英文全称是“process tree”,即将所有行程以树状图显示。

11. reboot

重新启动计算机。

12. shutdown

系统关机命令。

语法: shutdown [选项] [参数]
参数:

  • -h: 将系统关机
  • -r: shutdown之后重新启动

实例:

// 现在立即关机:
shutdown -h now 

13. su

用于切换当前用户身份到指定用户或者以指定用户的身份执行命令或程序。

语法: su [选项] [用户名]

14. sudo

sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。

15. uname

用于显示系统相关信息,比如主机名、内核版本号、硬件架构等。

uname命令的英文全称即“Unix name”。

语法:uname [参数]
参数:

  • -a: 显示系统所有相关信息
  • -m: 显示计算机硬件架构
  • -n: 显示主机名称
  • -r: 显示内核发行版本号
  • -s: 显示内核名称
  • -v: 显示内核版本
  • -p: 显示主机处理器类型
  • -o: 显示操作系统名称

16. who

用于打印当前登录用户信息,包含了系统的启动时间 、 活动进程 、 使用者 ID、使用终端等信息。

w 命令也可以显示已经登陆系统的用户列表。

语法: who [参数] [选项]
参数:

  • -a: 打印全面信息
  • -b: 打印系统最近启动时间
  • -d: 打印死掉的进程
  • -l: 打印系统登录进程
  • -H: 带有列标题打印用户名,登录终端和登录时间
  • -t: 打印系统上次锁定时间
  • -u: 打印已登录用户列表

17. id

显示真实有效的用户ID(UID)和组ID(GID)

语法:id [参数] [用户名]

6. 系统设置

1. clear

清除屏幕。

2. chroot

用于改变根目录。
语法: chroot [参数]

实例:

// 改变根目录:
chroot /mnt/ls 

7. clock

作用调整 RTC 时间。RTC是电脑内建的硬件时间,执行这项指令可以显示现在时刻,调整硬件时钟的时间,将系统时间设成与硬件时钟之时间一致,或是把系统时间回存到硬件时钟。

语法: clock [参数]
参数:

  • – -adjust: 自动调整硬件时钟时间
  • – -hctosys: 时钟同步,使系统时钟和硬件时钟同步
  • – -set- -date: 设置硬件时间
  • – -show: 显示硬件时钟到标准输出
  • – -systohc: 系统时间写入硬件时钟

实例:

// 同步时间:
clock --hctosys

8. crontab

crontab是英文“cron table”的简写。该命令被用来提交和管理用户的需要周期性执行的任务。

语法:crontab [参数]
参数:

  • -e: 编辑该用户的计时器设置
  • -l: 列出该用户的计时器设置
  • -r: 删除该用户的计时器设置
  • -u: 指定要设定计时器的用户名称

实例:

// 创建、编辑计划任务:
crontab -e  

// 查看当前计划任务:
crontab -l 

crond服务设置任务的参数格式(如果没有设置,则需要使用星号(*)占位 ):
minute hour day month week command 顺序:分 时 日 月 周 命令

9. dmesg

用于检查和控制内核的环形缓冲区。

语法: dmesg [参数]

10. export

用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

语法:export [参数]

参数:

  • -f: 代表[变量名称]中为函数名称
  • -n: 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中
  • -p: 列出所有的shell赋予程序的环境变量

实例:

// 列出当前所有的环境变量:
export -p

// 定义环境变量赋值:
export MYENV=7

// 删除指定的变量
export -n MYENV

设置环境变量三种方法

  1. 临时(只对当前shell有效):上文;
  2. 对单一用户生效(永久的):在用户目录 .bash_profile 中添加变量。
// 添加变量
export CLASSPATH=变量值

// 马上生效
source ~/.bash_profile
  1. 对所有用户生效(永久的):/etc/profile文件中增加变量。立即生效:source /etc/profile

11. rpm

用于管理Linux 下软件包的软件,包含了五种基本功能:安装、卸载、升级、查询和验证。

rpm命令是Red-Hat Package Manager(RPM软件包管理器)的缩写。

语法: rpm [参数] [软件包]
参数:

  • -a: 查询所有的软件包
  • -b或-t: 设置包装套件的完成阶段,并指定套件档的文件名称;
  • -d: 只列出文本文件,本参数需配合”-l”参数使用
  • -e或–erase: 卸载软件包
  • -f: 查询文件或命令属于哪个软件包
  • -h或–hash: 安装软件包时列出标记
  • -i: 显示软件包的相关信息
  • –install: 安装软件包
  • -l: 显示软件包的文件列表
  • -p: 查询指定的rpm软件包
  • -q: 查询软件包
  • -R: 显示软件包的依赖关系
  • -U或–upgrade: 升级软件包
  • -v: 显示命令执行过程

实例:

// 列出所有安装过的包:
rpm -qa
 
// 直接安装软件包:
rpm -ivh packge.rpm 

// 忽略报错,强制安装:
rpm --force -ivh package.rpm

// 卸载rpm包:
rpm -e package.rpm 

// 升级软件包:
rpm -U file.rpm

12. passwd

用于设置用户的认证信息,包括用户密码、账户锁定、密码失效等。直接运行passwd命令修改当前的用户密码。

语法:passwd [参数]
参数:

  • -d: 删除密码
  • -l: 锁定用户密码,无法被用户自行修改
  • -u: 解开已锁定用户密码,允许用户自行修改
  • -e: 密码立即过期,下次登陆强制修改密码

13. time

用于测量特定指令执行时所需消耗的时间及系统资源等消息。

实例:

// 显示命令date的时间统计结果:
$ time date   
Sun Mar 12 22:56:35 CST 2023

real	0m0.005s
user	0m0.000s
sys	0m0.000s

14. alias/.bashrc

1. alias

用于设置指令的别名。使用alias时,用户必须使用单引号 ‘ ’ 将原来的命令引起来,防止特殊字符导致错误。

alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件 /etc/bashrc中。

语法: alias [参数]
参数:

  • -p: 打印已经设置的命令别名

实例:

// 查看系统已经设置的别名:
alias -p

// 给命令设置别名 :
alias lx='ls'
2. .bashrc

.bashrc是Linux系统/home/对应用户名/.bashrc目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。

linux启动后环境变量加载顺序:
/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → /etc/bashrc

  • 在.bashrc文件中添加个性化设置:
-->$ vim ~/.bashrc 
# 定义别名
alias ll = "ls -lha"
# 定义别名:快速打开文本
alias get='_get(){ if [ $1 ]; then cat ~/ip/$1.txt; else ls ~/ip; fi };_get'
# 定义别名:快速跳转
alias gotoss='goto 100.81.18.112'

# 环境变量:用来定义命令行提示符的参数
export PS1='-->\$ '
  • 立即生效:
source ~/.bashrc

15. unalias

用于取消命令别名。

语法: unalias [参数] [别名]
参数:

  • -a: 取消所有命令别名

实例:

unalias lx

7. 备份压缩

1. bzip2

.bz2文件格式的压缩程序。

bzip2命令的英文是“bunzip2”。
bzip2命令采用新的压缩演算法,比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

语法: bzip2 [参数] 文件系统
参数:

  • c: 将压缩与解压缩的结果送到标准输出
  • -d: 执行解压缩
  • -f: bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数
  • -k: bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数
  • -s: 降低程序执行时内存的使用量
  • -t: 测试.bz2压缩文件的完整性
  • -v: 压缩或解压缩文件时,显示详细的信息
  • -z: 强制执行压缩

实例:

// 压缩并删除源文件
bzip2 a.txt 

// 压缩并保留源文件。
bzip2 -k a.txt 

2. bzip2recover

用来修复损坏的.bz2文件。

bzip2是以区块的方式来压缩文件,每个区块视为独立的单位。因此,当某一区块损坏时,便可利用bzip2recover,试着将文件中的区块隔开来,以便解压缩正常的区块。通常只适用在压缩文件很大的情况。

语法: bzip2recover [参数]
参数:

  • -c: 将解压或者解压文件写到标准输出
  • -d: 解压
  • -z: 强制压缩,而不管调用名称如何
  • -t: 检查指定文件的完整性,但不要解压缩它们
  • -f: 强制执行
  • -k: 解压之后,保留源文件
  • -s: 减少内存使用,用于压缩、解压缩和测试

实例:

// 修复.bz2文件:
bzip2recover col.bz2

// 解压foo:
bzip2recover -d foo.gz

3. gunzip

用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为”.gz”。

gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip命令单独完成。

语法: gunzip [参数]

  • -c或–stdout或–to-stdout: 把解压后的文件输出到标准输出设备
  • -f或-force: 强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接
  • -l或–list: 列出压缩文件的相关信息
  • -q或–quiet: 不显示警告信息
  • -r或–recursive: 递归处理,将指定目录下的所有文件及子目录一并处理
  • -v或–verbose: 显示指令执行过程

实例:

// 解压文件:
gunzip ab.gz 

// 解压,显示详细执行过程:
gunzip -v ab.gz 

4. gzip

gzip命令的英文是“GNUzip”,是常用来压缩文件的工具,gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

语法: gzip [参数]
参数:

  • -d: 解开压缩文件
  • -f: 强行压缩文件
  • -l: 列出压缩文件的相关信息
  • -c: 把压缩后的文件输出到标准输出设备,不去更动原始文件
  • -r: 递归处理,将指定目录下的所有文件及子目录一并处理
  • -q: 不显示警告信息

实例:

// 把当前目录下的每个文件压缩成.gz文件:
gzip *

// 把上例中每个压缩的文件解压,并列出详细的信息:
gzip -dv *

// 递归地解压目录:
gzip -dr xxx.gz

5. zip

zip程序将一个或多个压缩文件与有关文件的信息(名称、路径、日期、上次修改的时间、保护和检查信息以验证文件完整性)一起放入一个压缩存档中。可以使用一个命令将整个目录结构打包到zip存档中。

语法:zip [参数] [文件]
参数:

  • -q: 不显示指令执行过程
  • -r: 递归处理,将指定目录下的所有文件和子目录一并处理
  • -z: 替压缩文件加上注释
  • -v: 显示指令执行过程或显示版本信息
  • -n<字尾字符串>: 不压缩具有特定字尾字符串的文件

实例:

// 把/home目录下面的mydata目录压缩为mydata.zip:
zip -r mydata.zip mydata 

6. unzip

用于.zip格式文件的解压缩工具。

语法: unzip [参数] [文件]
参数:

  • -l: 显示压缩文件内所包含的文件
  • -v: 执行时显示详细的信息
  • -c: 将解压缩的结果显示到屏幕上,并对字符做适当的转换
  • -n: 解压缩时不要覆盖原有的文件
  • -j: 不处理压缩文件中原有的目录路径

实例:

// 把/home目录下面的mydata.zip解压到mydatabak目录里面:
unzip mydata.zip -d mydatabak 

7. cpio

用于建立或者还原备份档的工具程序,cpio命令可以复制文件到归档包中,或者从归档包中复制文件。

语法: cpio [参数]
实例:

// 将/etc下的所有普通文件都备份到/opt/etc.cpio:
find /etc –type f | cpio –ocvB >/opt/etc.cpio

8. dump/restore

dump命令用于备份文件系统 ,dump为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

restore命令用来还原由dump操作所备份下来的文件或整个文件系统(一个分区)。

你可能感兴趣的:(linux,运维,服务器)