ls
命令:ls -lrt
详细解释:
-l use a long listing format 以长列表方式显示(详细信息方式)
-t sort by modification time 按修改时间排序(最新的在最前面)
-r reverse order while sorting (反序)
简写ls -l为ll
vim
跳转到指定行
# n为行号
ngg
nG
:n
vim +n filename
du
查看当前目录下的磁盘占用情况
du --max-depth=1 -h
head和tail
head和tail分别显示开头和结尾某个数量的文件区块
显示前10行
head -10 readme.txt
显示结尾10行tail -10 readme.txt
tail比head多了一个可用参数 -f
- 使用此参数时,tail不会回传结束符号,它会等待一段时间,直到发现读取的文件添加了新的一行
tail -f logs.txt -n 10
打印一个只有两行的文件,-n
参数类似上面的-10
# text_analysis
文本数据处理
还有tac
指令可以将读取的内容按行后进先出,也就是逆序显示出来tail -f logs.txt -n 10 | tac
文本数据处理
# text_analysis
tar
参数-f是必须的
-f: 使用档案名字,是最后一个参数,后面只能接档案名。
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
上面五个参数是独立的,压缩解压都要用到其中一个,可以和下面的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
示例
# 压缩为*.tar v可以去掉
tar -cvf test.tar test.txt
# *.tar解压缩
tar -xvf test.tar
# 压缩为*.gz
tar -zcvf test.tar.gz test.txt
# *.gz解压缩
tar -zxvf test.tar.gz
# 压缩为*.bz2
tar -jcvf test.tar.bz2 test.txt
# *bz2解压缩
tar -jxvf test.tar.bz2
grep
grep常用选项
-V, --version
-G,–basic-regexp
-E,–extended-regexp
-P,–perl-regexp
-F,–fixed-strings
-i 忽略大小写
-o 只输出匹配到的部分,而不是整行
-v 反向选择,即输出没有匹配的行
-c 计算找到的符号行的次数
-n 输出行号
-A 输出匹配行后5行
-B 输出匹配行后5行
-C 输出匹配行前后5行
常见用例
匹配文件夹
grep -r "123" ~/projects/ # 后面跟文件夹,需要加-R或-r或--recursive递归指定目录下的所有文件
grep "123" -d recurse ~/projects/ #-d跟上文件夹,可以是实现相同的功能
grep -r 123 * # 检索当前目录下的所有文件是否有 123
crontab -l | grep -B1 123 查找crontab任务和前一行注释
匹配文件
grep -rnw 'path' -e 'pattern' # w表示匹配全词
Linux grep 命令
Linux grep打印匹配行所在的前后几行
pgrep
pgrep -f abc
匹配出含abc的进程 并输出进程的pid
pkill -f abc
杀掉含abc的所有进程
wc
查看文件多少行wc -l
查看文件多少个单词wc -w
查看文件字节数wc -c
文件里最长的那一行是多少个字wc -L
wc file
默认执行wc -lwc file
# 统计当前目录下文件的个数
ls -l | grep "^-" | wc -l
# 统计当前目录下文件的个数,含子目录
ls -lR| grep "^-" | wc -l
# 查看某目录下文件夹(目录)的个数,含子目录
ls -lR | grep "^d" | wc -l
grep正则匹配^
匹配开头,文件开头为-
,文件夹开头为d
Linux统计文件夹下的文件个数
wget
最常用wget + 下载url
- -O 指定下载文件重命名
wget -O baidu.txt www.baidu.com
- -c 断点续传
wget -c www.baidu.com
更多请参考 linux下载文件命令
history
linux的history命令的作用是,记录执行过的命令
- history [n] n为数字,列出最近的n条命令
- -c 将目前shell中的所有history命令消除
history [-raw] histfiles
- -a 将目前新增的命令写入histfiles, 默认写入~/.bash_history
- -r 将histfiles内容读入到目前shell的history记忆中
- -w 将目前history记忆的内容写入到histfiles
- !number 执行指定的历史记录
- !!执行上一条记录
sed
ps -ef
PS是LINUX下最常用的也是非常强大的进程查看命令,通常和grep一起使用
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令
示例:ps -ef | grep java
# 按格式pid,lstart,etime,cmd显示
ps -eo pid,lstart,etime,cmd
nohup
nohup command & 在后台运行程序
nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &
# close nohup
jobs -l查看程序列表
kill -9 pid 杀死进程
%和#
#是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
详见linux shell 中 %% *的含义
上传大文件
rz -be
linux if和while注意事项
linux 中文件夹的文件按照时间倒序或者升序排列
Linux tail 命令详解
linux查看文件有多少行(WC)
linux查看历史命令history
tar命令-压缩,解压缩文件
ps -ef|grep详解
nohup和&后台运行,进程查看及终止