- 查询帮助命令help
例如 pwd --help
- 文件和目录操作命令
- ls 【选项】【文件或目录】 显示指定文件或目录的所有文件信息
-a显示所有文件及目录包含隐含文件
-l长格式显示文件详细信息
- pwd 显示当前目录的绝对路径
- cd改变当前目录为指定目录
- mkdir 【选项】【目录】建立目录
-p递归建立目录,即若目录的父目录不存在,则一并建立其父目录
-m权限 按指定权限建立目录
mkdir class/{nan,nv} 在目录class下创建目录nan和nv
- rmdir 【选项】【目录】删除目录,若目录非空,不能是=删除
-p递归删除目录,即当子目录删除后,如果其父目录为空,一并删除父目录
- touch 创建文件
- rm删除文件
-r递归删除目录
- cp【源文件】【目标文件】拷贝文件
-r拷贝目录
- mv 移动、重命名
- ln链接
ln -s 1.txt 1_soft_link 给1.txt创建软链接,相当于windows中快捷方式,软链接本身不存内容。
ln 1.txt 1_hard_link 硬链接本身占空间,相当于把源文件复制一份,与源文件同步变化,删除源文件硬链接不受影响,不能给目录创建硬链接。
- 查看文件及内容处理命令
- cat
cat 1.txt 查看文件内容
cat > 1.txt 从键盘创建文件
cat 1.txt 2.txt > 3.txt 将两个文件合并为一个文件
- tac 将文件以行为单位反序输出
- more 分页显示文件内容
more -dc file 显示文件file内容,先清屏
more -c 10 file 显示文件file内容,每10行显示一次,先清屏
- less 分页显示文件内容,允许用户向前向后翻页,more命令只允许向前浏览
/可以字符查找 n查找下一处 q退出
- head 显示文件的开头内容,默认显示头10行
-n指定行数
- tail
tail file显示文件的尾部内容 ,默认后10行
tail +20 file 显示文件内容,从第20行至文件末尾
tail -c 10 file 显示文件最后10个字符
- cut 在文件中剪切数据
-b以字节为单位进行分割 cut -b 3-5,8 file 提取第3、4、5、8个字节
-c以字符为单位进行分割
-d自定义分隔符
-f指定显示哪个区域,与-d一起使用
cut -f 2 -d”;” file
- split 分割大文件为若干小文件
split -b 10k file
split -b 10k file -d -a 3 指定数字后缀,长度为3
split -b 10k file -d -a 3 split_file 指定分割后的文件名前缀
split -l 10 file 指定行数分割
- paste 将多个文件的内容合并
-d指定不同于空格或tab键的域分隔符
-s将每个文件合并成行而不是按行粘贴
paste -d”;”-s 1.txt 2.txt
- sort 输出文件排序结果
sort file以首字母升序排序
sort -u file 忽略相同行
- uniq 忽略文件中的重复行,一般与sort命令结合使用
- file 检查文件类型 linux对文件名后缀不敏感
- find 查找文件
find . 列出当前目录及子目录下所有文件和目录
find /home -name “*.txt” 查找home目录下以txt结尾的文件
find /home -iname “*.txt” 同上,忽略大小写
- grep 文本搜索,打印匹配的行
-n 显示行号
-i不区分大小写
-v反向输出
- 文件压缩及解压缩
- tar 打包
-f 是必须的,作为最后一个参数
-c 压缩 tar cf test.tar 1.txt 2.txt
-x 解压缩 tar xf test.tar
-v 显示打包过程 tar cvf test.tar 1.txt 2.txt
-t 列出包的文件 tar tf test.tar
tar xf test.tar -C(大写) wendang 解包到文档目录,目录需存在
- zip 压缩
-r递归处理,将指定目录下的所有文件及子目录一并处理
zip -r test.zip *txt 可以不写 test.zip扩展名
- unzip 解压
unzip test.zip 在当前目录下解压
unzip -n test.zip -d /tmp 解压到指定目录/tmp,如果有相同文件存在不覆盖
unzip -o test.zip -d /tmp 解压到指定目录/tmp,覆盖
- gzip压缩
gzip -r test.tar 生成test.tar.gz文件
gzip -d test.tar.gz 解压缩生成test.tar,然后通过tar命令解包
tar xf test.tar -C wendang
一步到位打包并且压缩:tar czf test.tar.gz *txt
一步到位解包并且解压:tar xzf test.tar.gz -C wendang
- 进程管理
- ps
ps aux 显示所有进程 或者ps -le
显示的信息含义:
①USER:该进程是哪个用户产生的
②PID:进程ID号
③%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
④%MEM:该进程占用物理内存百分比,占用越高,进程越耗费资源
⑤VSZ:该进程占用虚拟内存大小
⑥RSS:该进程占用实际物理内存大小
⑦TTY:该进程在哪个终端运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端
⑧STAT:进程状态
进程有五种状态:
①运行:正在运行或在运行队列中等待(R)
②中断:休眠中,受阻,在等待某个条件的形成或接收到信号(S)
③不可中断:收到信号不唤醒和不可运行,进程必须等待直到有中断发生(D)
④僵死:进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放?(Z)
⑤停止:进程收到sigstop,sigstp,sigtin,sigtou信号后停止运行(T)
- pstree查看进程树
pstree -p 显示进程PID
pstree -u 显示进程的所属用户
- top 动态交互查看服务器健康状态
top -b -n 1 > top.log 批处理 执行一次 写入到文件中
q退出
显示的五行信息:
①任务队列信息:系统当前时间,运行时间,登录用户,平均负载(特定时间间隔内运行队列中的平均进程数)
②进程信息:各状态进程数
③CPU信息:占用CPU百分比
④物理内存信息:
⑤交换分区信息:
缓存(cache):加快数据读取
缓冲(buffer):加快数据写入
- kill杀死进程
kill -l 列出所有信号信息
kill -9 进程号 强制杀死进程
- killall 进程名称 -i交互式,询问是否杀死这个进程
六.工作管理
1. jobs查看后台运行程序
jobs -l 显示进程PID
注意:
①当前的登陆终端,只能管理当前终端的工作
②放入后台的命令必须能持续运行一段时间,才能捕捉到和操作
③放入后台执行的命令不能和前台用户有交互或需要前台输入,否则只能放入后台暂停,不能执行
将进程放入后台:
①在命令后加&(在后台执行)
②快捷键ctrl+z(在后台暂停)
③+代表最后一个放入后台的进程,是默认恢复工作。
-代表倒数第二个放入后台的工作
后台暂停工作恢复到前台:fg %工作号
后台暂停工作恢复到后台:bg %工作号
后台命令脱离登陆终端:
①把需要后台执行的命令加入/etc/rc.local文件
②使用系统定时任务
③使用nohup命令,nohup /root/for.sh &
- vmstat 系统资源查看
vmstat 【刷新时延】【刷新次数】
①procs 进程信息
②memory内存信息,包括缓存,缓冲,内存等
③swap交换分区信息,从磁盘交换到内存,从内存交换到磁盘
④io磁盘读写信息
⑤system系统信息
⑥cpu信息
- dmesg 开机时内核检测信息
dmesg | grep CPU
- free 查看内存使用状态
-b 以字节为单位
-k以kb为单位
- 查看CPU信息:cat /proc/cpuinfo
- uptime 显示top命令第一行
- lsof 进程调用哪些文件
lsof|more 查看系统中所有进程调用的文件
lsof /sbin/init 查看某文件被哪个进程调用
lsof -c 进程 查看某进程调用了哪些文件
lsof -u root 根据用户名,查看某用户的进程调用的文件
- df 显示磁盘分区上的可使用磁盘空间
-a 包含全部文件系统
-T显示文件系统类型
-h可读性较高
- 网络操作命令
- ssh登陆远程主机
ssh 服务器用户名 域名
退出服务器:ctrl+d
- wget 从指定的URL下载文件
wget http://www.baidu.com
-c 继续中断的下载
- ping 测试主机之间的网络连通性
ping 主机名/IP地址
- netstat 打印网络系统动态信息
netstat -a 列出所有端口
netstat -at 列出所有TCP端口
netstat -au 列出所有UDP端口
netstat -l 只显示监听端口
- 一些问题
- 查看占用CPU使用率最高的进程?
①ps aux | head -1 获取进程标题
②ps aux |sort -rn -k3 | head 按照第三列(%CPU)数值倒序排序 显示前10行
- 过滤文件中包含haha的行?
①cat file | grep haha
②grep haha file
- 查看某端口号?
netstat -anp | grep 端口号 监控状态为LISTEN表示已经被占用
- 查看某进程号?
ps -le | grep 进程号
- 查看IP地址?
ifconfig
- 创建和删除一个多级目录?
mkdir -p ./a/b
rmdir -rf ./a
- 在当前用户家目录中查找haha.txt文件?
find ~/ -name haha.txt
- 如何查询出vim进程并杀死它?
①ps aux|grep vim
②kill 进程号
- 动态查看日志文件?
tail -f file 显示文件最新追加内容
- 查看系统硬盘空间?
df -aTh
- 查看当前机器listen的所有端口?
netstat -l
- 从第3000行开始,显示1000行?
cat file | tail -n +3000|head -n 1000
- find和grep区别?
(唉序号是乱的先这样吧)