# 查看命令是否成功,显示1表示成功,0表示失败
echo $?
1 查看文件
# 查看当前目录下所有文件,包括子目录
# -R参数表示循环子目录
ls -lR
# 查看当前目录下的文件大小
# -h参数表示将kb转化为M和G
ls -lh
# 按照文件从大到小排序
# -S参数表示以文件大小降排序
ls -lhS
# 安装文件从小到大排序
# -r表示反转
ls -lhSr
# 按照时间排序
# -t表示按照时间从大到小排序
ls -lt
# 查看当前目录占用的空间
# 仅仅查看当前目录占用的空间
# 下面命令也可以将s和h分开,“du -s -h"
# -s表示目录或文件大小
du -sh
# 查看占用的空间和文件
# -a表示所有文件
du -ah
# 查看计算机磁盘使用情况
df -h
# 查看分区和容量
fdisk -l
# 查看硬盘挂载情况和硬盘的格式
lsblk -f
# 查看my_data文件属性的详细信息
stat my_data
2 文件统计和查找
# 统计文件数量
# ls -lR表示列出所有文件
# grep "^-"表示只查找文件,不查找目录,-表示文件,b表示块文件
# wc -l表示统计行数
ls -lR | grep "^-" | wc -l
# 查找文件a
find -name 'a'
# 在"/"目录下查找文件"a"
find / -name "a"
# 在"/"目录下查找前缀是"a"的文件
find / -name "a*"
# 查找当前目录下用户mason的文件中,含有字母a的文件
find -user mason -name '*a*'
# 查找所有含有a的目录
find -type d -name '*a*'
# 使用locate查找文件
# 会查询出所有的a文件
locate a
3 查看进程状态
# -a表示所有进程
# -u表示显示用户
# -x表示显示控制终端
# -f表示显示父进程(PPID)
ps -aux
# 进程状态
# I(Idle kernel thread)表示闲置状态
# R(Running or runnable)表示运行状态
# D(Uninterruptible sleep)表示不可中断的睡眠状态
# S(Interruptible sleep)表示可中断的睡眠状态
# T(Stopped by job control signal)表示暂停状态
# X(dead)表示退出状态(Exit),将被销毁
# < 表示高优先级,N 表示低优先级,s表示含有子进程,+表示在后台运行,l表示多线程
4 查看服务信息
# 查看所有服务,在新版本的系统中推荐使用systemctl命令
service --status-all
# 管理防火墙服务
# -status表示查看服务器状态
# -stop表示关闭服务(系统重启后失效)
# -start表示启动服务(系统重启后失效)
# -restart表示重启服务
# -disable表示开机禁用服务
# -enable表示开机启用服务
systemctl stop firewalld
# 查看服务端口
# 使用netstat命令,或者lsof命令也可,此处使用netstat命令
# -a表示显示所有连接
# -n表示显示ip地址
# -p表示显示进程
# -u表示显示udp的连接
# -t表示显示tch的连接
# -s表示统计连接数据
# -l表示显示正在监听的连接
netstat -anp
5 查看内存占用
# 显示实时cpu、内存等运行情况
# 使用按键e可以按照(kb、m、g)切换显示应用的内存占用情况,使用E可以按照(kb、m、g)切换显示总用的内存占用情况,
top
# 使用free命令
# -h表示以合适的单位显示容量
# -s表示间隔秒数重复显示
free -h
6 复制文件显示进度
# rsync是增备,scp是全备
# (1)使用rsync复制
# 复制过程中会显示进度
# -r --recursive:递归复制文件。
# -t --times:保持mtime属性。。
# -o --owner:保持owner属性(属主)。
# -p --perms:保持perms属性(权限,不包括特殊权限)。
# -g --group:保持group属性(属组)。
# -D :"--device --specials"选项的组合,即拷贝设备文件和特殊文件。
# -l --links:如果文件是软链接文件,则拷贝软链接本身而非软链接所指向的对象。
# -a --archive:归档模式,表示递归传输并保持文件属性。等同于"-rtopgDl"。
# -v :显示rsync过程中详细信息。
# --progress :显示进度信息。
# --partial :恢复某些原因而中断的传输。
# -P :由“--progress”和“--partial”两个参数组成。
# 将data目录下的文件复制到/home/data下
rsync -avP data /home/data
# 远程复制文件,将data.txt复制到192.168.137.2的/home/data目录下
rsync -avP data.txt root@192.168.137.2:/home/data
# (2)使用scp复制
# 远程复制中会显示进度,本地复制不显示进度
# -p:保留原文件的修改时间,访问时间和访问权限。
# -r: 递归复制整个目录。
# 将data目录下的文件复制到/home/data下,不显示进度条
scp -r data /home/data
# 远程复制文件,将data.txt复制到192.168.137.2的/home/data目录下
scp -r data.txt root@192.168.137.2:/home/data
# (3)终端执行耗时任务使用tmux
# 安装tmux
yum install tmux
# 创建会话
tmux new -s my-test
# 退出会话,快捷键 Ctrl+b d
tmux detach
# 查看会话
tmux ls
# 重新连接会话
tmux attach -t my-test
# 结束会话
tmux kill-session -t my-test
7 ubutu中卸载软件包
# dpkg管理软件
# 安装virtualbox-6.1.deb包
sudo dpkg -i virtualbox-6.1.deb
# 查看软件包
sudo dpkg -l
# 卸载deb软件包,不会删除配置文件
sudo dpkg -r virtualbox-6.1
# 删除配置文件
sudo dpkg -P virtualbox-6.1
# apt管理包
# 安装包
sudo apt install virtualbox-6.1
# 查看软件包
sudo apt list
# 卸载软件包
sudo apt remove virtualbox-6.1
# 删除配置文件
sudo apt purge virtualbox-6.1
# 卸载不需要的包
sudo apt autoremove
# 清除旧版本的软件缓存
sudo apt autoclean
# 清除所有的软件缓存
sudo apt clean