` Linux中的命令非常多,总结一些常用的命令,其它的边用边查即可`
常用命令
系统状况
-
` top` 相当于是Win的任务管理器,可以查看所有进程的信息
-
输入M Memory 按内存使用排序
-
输入P Processor 按使用CPU排序
-
输入q Quit 退出
-
-
df -h diskfree 查看磁盘使用情况
-
free -h 查看内存的使用情况
-
du -sh (disk use) 查看当前目录占用的内存空间
-
ps aux(process)查看所有进程
-
kill -9 pid 杀死编号为pid的进程 传递某个具体信号给进程
-
1 (HUP):重新加载进程。
-
9 (KILL):杀死一个进程。
-
15 (TERM):正常停止一个进程。
-
-
netstat -nt : 查看所有网络连接
-
w 当前登录的用户
-
ping url 检查是否联网
文件操作
文件权限
-
chomd 修改权限
-
chmod +x xxx : 给xxx添加可执行权限
-
chmod -x xxx : 去掉xxx的可执行权限
-
chmod 777 xxx : 将xxx的权限改成777 1 2 4 读写执行
-
chmod 777 xxx -R : 递归(Recursive)修改整个文件夹的权限
-
查看文件
-
more 浏览文件
-
回车 : 下一行
-
空格 : 下一页
-
b : 上一页
-
q : 退出
-
-
less : 与 more 类似,功能更全 less is more 😀
-
回车 : 下一行
-
y : 上一行
-
Page Down : 下一页
-
Page Up : 上一页
-
q : 退出
-
-
head -3 xxx : 展示 xxx 的前 3 行内容
- 同时支持从stdin读入内容
-
tail -3 xxx : 展示 xxx 末尾 3 行内容
用户相关
- history 查看当前用户的历史操作命令。内容存放在** ~/.bash_history **中
一些工具命令
-
md5sum : 计算 md5 哈希值
-
可以从stdin读入内容
-
也可以在命令行参数中传入文件名列表
-
-
time command : 统计 command 命令的执行时间
-
watch -n 0.1 command : 每 0.1 秒执行一次 command 命令
-
tar : 压缩文件
-
tar -zcvf xxx.tar.gz /path/to/file/* : 压缩
-
tar -zxvf xxx.tar.gz : 解压缩
-
-
diff xxx yyy : 查找文件 xxx 与 yyy 的不同点 different
-
sudo command : 以 root 身份执行 command 命令
-
apt-get install xxx : 安装软件(Ubuntu)
- yum install xxx : 安装软件(CentOS)
-
pip install xxx –user –upgrade : 安装 python 包
- pip3 升级版的 pip
文件检索
-
find /coder/file -name ‘*.go’ 搜索某个文件路径下的所有 *.go 文件
-
grep xxx : 从 stdin 中读入若干行数据,如果某行中包含 xxx ,则输出该行;否则忽略该行 这个命令一般和管道 使用 -
wc : 统计行数、单词数、字节数 既可以从 stdin 中直接读入内容;也可以在命令行参数中传入文件名列表; wc -l : 统计行数 line wc -w : 统计单词数 word wc -c : 统计字节数
-
tree : 展示当前目录的文件结构 tree /path/to/directory/ : 展示某个目录的文件结构 tree -a : 展示隐藏文件 ls -a
-
ag xxx : 搜索当前目录下的所有文件,检索 xxx 字符串
-
cut : 分割一行内容
- -d :自定义分隔符,默认为制表符。
- -f :与-d一起使用,指定显示哪个区域。 echo $PATH | cut -d ‘:’ -f 3,5 输出 PATH 用 : 分割后第 3、5 列数据 echo $PATH | cut -d ‘:’ -f 3-5 输出 PATH 用 : 分割后第 3-5 列数据 echo $PATH | cut -c 3,5 输出 PATH 的第 3、5 个字符 echo $PATH | cut -c 3-5 输出 PATH 的第 3-5 个字符
- sort : 将每行内容按字典序排序,也可以将多个无序文本整合成一个有序文本
sort file1.txt file2.txt file3.txt > final_sorted_list.txt
-
xargs : 将 stdin 中的数据用空格或回车分割成命令行参数
-
综合使用find . -name ‘*.py’ xargs cat wc -l : 统计当前目录下所有 python 文件的总行数
一些组合命令
统计当前目录下共有多少个以 .go结尾的文件,将结果写入 ans.txt 中
chmod +r *
find . -name '*.go' | wc -l > ans.txt
统计当前目录下所有 go 文件的总行数,将结果写入 ans1.txt 中
find . -name '*.go' | xargs cat | wc -l > ans1.txt
遍历当前目录下所有 go 文件,统计共有 **多少行包含字符串 thrift ** ,将结果写入 ans2.txt 中
find . -name '*.go' | xargs cat | grep thrift | wc -l > answ.txt
删除当前目录下的所有 go 文件
find . -name '*.go' | xargs rm
当前目录下包含一个文件 scores.txt,文件中有若干行数据,每行数据包含用空格隔开的 3 个字段:姓名、数学成绩、算法成绩。 将 scores.txt 文件的内容以空格为分隔符分隔成 3 列,将第一列内容写入 names.txt,第二列内容写入 mathematics.txt,第三列内容写入 algorithm.txt
cat scores.txt | cut -d ' ' -f 1 > names.txt
cat scores.txt | cut -d ' ' -f 2 > mathematics.txt
cat scores.txt | cut -d ' ' -f 3 > algorithm.txt
将 scores.txt 文件的内容以空格为分隔符分隔成 3 列,将第一列内容按字典序从小到大排序后写入names.txt
cat scores.txt | cut -d ' ' -f 1 | sort > names.txt
将 scores.txt 文件的前 5 行写入 top.txt,后 4 行写入 bottom.txt
cat scores.txt | head -5 > top.txt
cat scores.txt | tail -4 > bottom.txt
计算 scores.txt 文件的 md5sum,将结果写入 ans.txt
ans.txt文件中只包含长度为 32 的 md5sum ,不包含其他内容
cut -c :以字符为单位进行分割。
md5sum scores.txt | cut -c 1,32 > ans.txt