磁盘相关

查看已安装软件包的大小并按由大到小排序并显示前面20位

rpm -qa --queryformat '%10{size} - %-25{name} \t %{version}\n' | sort -nr | head -20

查看磁盘空间利用率

df

查看文件夹空间占用较大的前10位

du / | sort -nr | head -10

查看文件夹空间总大小

du -sh <folder>

查找文件名

find  | grep [regular expression]

查找文件内容(遍历子文件夹)

grep -r [regular expression]

列出当前每个子文件夹的磁盘空间使用量

du -sch *

打包文件夹

tar cvzf <tar filename> <folder>
示例
tar cvzf temp.tar  temp

解压文件夹

tar xvf <tar filename> -C <output folder>
示例
tar xvf temp.tar -C myfolder

验证打包文件是否破坏

tar -tzf <tar file> >/dev/null
如果没有输出表示有效,否则会输出错误信息

大文件分割

split -b 500m -d largeFile.bin largeFile.bin.

-b 500m 表示按500M为单位切割 ,  -d 表示切割后的文件后缀按数字表示,如00, 01 , 02...,   largeFile.bin.   表示切割后文件名的前缀

文件合并

cat largeFile.bin.00 largeFile.bin.01 largeFile.bin.02 > largeFile.bin.new

 文件校验

md5sum <filename>

 参考:split命令_Linux split命令:切割(拆分)文件

系统相关

查看linux 发行套件和版本

cat /etc/os-release

 输出结果类似

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

查看linux的可执行程序的绝对路径

whereis [command]
示例
whereis docker
输出类似
/usr/bin/docker /etc/docker /usr/libexec/docker /usr/share/man/man1/docker.1.gz

安全相关

添加用户

useradd [username]
默认会同时添加同名的组

修改用户名密码
passwd [username]

验证已添加用户
cat /etc/passwd | grep  [username]

验证已添加组
cat /etc/group  | grep  [groupname]

修改文件的所有者

chown [owner's username] [file/folder]
示例:
chown test test.txt

禁止某用户账号登录系统

usermod -s /sbin/nologin [username]

验证
cat /etc/passwd | grep [username]
查看是否有nologin标识

锁定或解锁用户账号

锁定用户账户  (锁定后用户无法再登录系统)
usermod -L [username]

解锁用户账户 
usermod -U [username]

如何查看文件的权限

ls -al

结果类似:

-rw-r--r--.  1 test                root                    0 4月  23 02:09 test.txt

左侧第一串字符表示权限,一共10个字符
 d: 表示目录
 -:  无
 r:  读权限
 w:  写权限
 x:  执行权限

第1个字符表示是目录还是文件
第2-4个:  表示所有者的权限
第5-7个: 表示所属组的权限
第8-10个: 表示其他人的权限

给用户添加sudo权限

以root身份将用户添加到wheel组
usermod -aG wheel <username>

示例: 添加test用户
usermod -aG wheel test

然后使用test用户登录就可以使用sudo方式执行命令了
sudo <command>

注:如果用户在添加到wheel组前未注销,需要先注销在登录才能生效

网络相关

解析主机名到IP

getent hosts [hostname]
示例
getent hosts www.baidu.com

查看路由或IP地址

查看ip地址
ip address

查看路由
ip route

查看进程监听的端口

sudo ss -tulpn
或
sudo netstat -tulpn (已过时)

显示结果类似

Netid State      Recv-Q Send-Q                                          Local Address:Port                                                         Peer Address:Port              
udp   UNCONN     0      0                                                   127.0.0.1:323                                                                     *:*                   users:(("chronyd",pid=884,fd=5))
udp   UNCONN     0      0                                                       [::1]:323                                                                  [::]:*                   users:(("chronyd",pid=884,fd=6))
tcp   LISTEN     0      100                                                 127.0.0.1:25                                                                      *:*                   users:(("master",pid=1551,fd=13))
tcp   LISTEN     0      128                                                         *:22                                                                      *:*                   users:(("sshd",pid=1238,fd=3))
tcp   LISTEN     0      100                                                     [::1]:25                                                                   [::]:*                   users:(("master",pid=1551,fd=14))
tcp   LISTEN     0      128                                                      [::]:5100                                                                 [::]:*                   users:(("docker-proxy",pid=19765,fd=4))
tcp   LISTEN     0      128                                                      [::]:2288                                                                 [::]:*                   users:(("docker-proxy",pid=19754,fd=4))
tcp   LISTEN     0      128                                                      [::]:22                                                                   [::]:*                   users:(("sshd",pid=1238,fd=4))

内存相关

查看内存的使用情况

free 

输出类似如下:
              total        used        free      shared  buff/cache   available
Mem:       10479448     8828880       82432        9144     1568136     1547876
Swap:       1048572           0     1048572

查看进程内存的使用情况

top 

输出类似如下:
VIRT 表示虚拟内存空间
RES  表示常驻内存空间
SHR  表示使用的共享进程的空间

top - 13:29:07 up  1:51,  1 user,  load average: 0.00, 0.01, 0.15
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 10479448 total,    81940 free,  8829172 used,  1568336 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.  1547584 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                          
28524 test      20   0  162004   2212   1544 R  0.3  0.0   0:00.07 top                                                                                              
    1 root      20   0  128620   7160   4088 S  0.0  0.1   0:01.71 systemd                                                                                          
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                                                         
    4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                     
    6 root      20   0       0      0      0 S  0.0  0.0   0:00.80 ksoftirqd/0                                                                                      
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                      
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                           
    9 root      20   0       0      0      0 S  0.0  0.0   0:07.64 rcu_sched                                                                                        
   10 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 lru-add-drain                                                                                    
   11 root      rt   0       0      0      0 S  0.0  0.0   0:00.08 watchdog/0                                                                                       
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                                        
   14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                                                                            
   15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd                                                                                       
   16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback                                                                                        
   17 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kintegrityd                                                                                      
   18 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                           
   19 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                           
   20 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 bioset                                                                                           
   21 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kblockd                                                                                          
   22 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 md                                                                                               
   23 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 edac-poller                                                                                      
   24 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 watchdogd                                                                                        
   30 root      20   0       0      0      0 S  0.0  0.0   0:00.08 kswapd0                                                                                          
   31 root      25   5       0      0      0 S  0.0  0.0   0:00.00 ksmd                                                                                             
   32 root      39  19       0      0      0 S  0.0  0.0   0:00.66 khugepaged                                                                                       
   33 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 crypto

  列出前二十个占用内存空间较大的进程

ps -o pid,size,%mem,command ax | sort -b -k2 -n -r | head -20

服务相关

自动启动服务

sudo systemctl enable application.service

禁用自动启动服务

sudo systemctl disable application.service

启动、停止、重启服务

sudo systemctl start|stop|restart application.service

如果修改了配置文件,需要重新加载后,再重启服务

sudo systemctl daemon-reload
sudo systemctl restart application.service

列出所有的服务

显示所有已加载得服务单元,包括已经挂掉或空的
systemctl -a

显示所有已安装到系统的服务单元
systemctl list-unit-files

查看服务状态及配置信息

systemctl status [service name]