Linux 常用命令使用总结
2013-01-02 02:24
661 查看
总结使用过的Linux命令。
(LINUX常用命令总结:http://linux.chinaitlab.com/special/linuxcom/
)
.cache
$ du --max-depth=3 -h | sort -hr
680M .
657M ./tracker
17M ./abrt/spool/ccpp-2012-09-08-21:12:57-1942
17M ./abrt/spool
17M ./abrt
5.2M ./Kingsoft
3.6M ./Kingsoft/wpp/http
3.6M ./Kingsoft/wpp
1.7M ./Kingsoft/wps/http
1.7M ./Kingsoft/wps
852K ./ibus
768K ./wallpaper
684K ./ibus/bus
92K ./ibus/libpinyin
72K ./ibus/pinyin
注: du - estimate file space usage (详见man du)
sort - sort lines of text files (详见man sort)
Wed Jan 2 10:22:52 CST 2013
$ date | cut -d' ' -f5
10:23:33
4)在文件中用grep进行多关键字查找 (grep)
$ grep -E "open|create" fcntl.h
注意:使用正则表达式的知识,其中 ‘|’表示或的意思。
(从gbk 改变到 utf-8 , 进入子目录更改, 更正文件名。)
(注意: {16..23} 代表 16 17 18... 23 这个用法很便捷。)
7)截屏快捷键
fedora下,按下Prt Sc能对整个屏幕截屏; Shift + Prt Sc能自定义截屏
8)用 tr 命令删除空格
cat tmp | tr -d " " >tmp2
9)忘记加sudo了怎么办?
比如你输入了一个很长的命令,结果提示Permission Denied。是不是很郁闷。
比较简便方法是: sudo !!
!!表示上一次输入的命令。
或者按向上键,回到刚才输入的命令,然后CTRL + a , 光标是不是移动到了命令的前面?然后在输入sudo即可。
参考
10)用awk统计当前文件夹普通文件的总大小
11)统计一个文件夹中的文件行数(包含子文件夹) find xargs wc参考
上面代码的问题是,如果文件名或文件夹名中含有空格会出错,修订版:
不够这样的结果会包含每个文件的行数信息。总行数显示在最后,如果只想显示总行数,可以这样:
12)A
"live" view of a logfile on Linux
http://www.howtogeek.com/howto/ubuntu/a-live-view-of-a-logfile-on-linux/
tail -f XXX.log
这样,如果XXX.log文件有新内容,也能及时显示在屏幕上。
13) 删除文件夹的两种方法
1. rm -rf dir
2. find . -name dir -type d -delete
13.5) 得到文件每一行的最后一个字符
1. sed 's=.*\(.\)$=\1=' file
2. awk '{print substr($NF,length($NF),1)}' inputfile
14) 查找某个目录下指定日期 的文件
如查找 20120228 12:00:01 创建的文件
法1: 先touch -t 一个 20120228 12:00:00 file1 和一个 20120228 12:00:02file2然后再用find的newer
touch -t 201202281200.00 file1
touch -t 201202281202.00 file2
find path -newer file1 ! -newer file2 -exec -ls -l {} \;
参考: http://blog.sina.com.cn/s/blog_685454170100jgef.html
法2: 使用ls awk
ll path | awk -F' ' '{ if( $6~'^2' && $7==28 ) print $0}'
15) 察看文件的时间戳、指定时间戳
stat file
touch -t file
16) getconf : 察看系统限制
$ getconf -a 显示所有
$ getconf -a | grep PATH
17) cp:
打开覆盖文件提示 (强烈建议添加!)
打开~/.bashrc 添加如下内容:
复制文件夹, 使用 -r 选项
cp -r ./servercode ./backup
18) netstat : 察看某个端口被谁占用
netstat -lpnt | grep
19) 使用shell来解码
echo $'\xe6\x9b\xbc\xe8\xb0\xb7'
输出: 曼谷
20) 删除指定文件外的文件
21) cmatrix
类似黑客帝国
22) 查看一个包里面有什么
23) 哪个包提供了vim(或其他程序)
24)) 查看一个包都有哪些依赖包
25) 查看XX由哪个包提供
26) 快速使用http方式共享目录
测试了一下,比wget快。
29)查找关于xxx的命令
30) 统计当前目录下占空间最大的前10名文件或目录
31) 显示农历
32) 从命令行通知桌面消息
33)
linux screen
34)bash的extglob暨如果让bash支持文件名上的正则
35) 向某个终端发信息
好吧,记住 every thing is a file
36) 获得昨天的日期
date '+%F' 取今天的日期,格式是:YYYY-MM-DD。读了一会儿 date(1),发现可以用 -d 'STRING' 选项获取任意日期的日子。不过,STRING 的内容没有文档,就猜,估计 -d 'yesterday' 可以。于是试试:
37) 你知道吗?
意思是把上一个命令中的'>'换成'|'再执行一次。
更多内容
38) Pipe to/from Clipboard
可以把alias那一句写入 ~/.bashrc中。
39)lsof
察看打开的文件
察看哪些进程打开了Tag.py
然后查看该进程在哪个tty
40) 统计代码行数 cloc
41) 统计当前文件夹下大小最大的10个文件(夹)
ls -S
删除他们(因为文件名中可能有空格,-Q可以用双引号将文件名包含起来)
ls -SQ | xargs rm -rf
[b]42) wget下载ftp文件[/b]
(LINUX常用命令总结:http://linux.chinaitlab.com/special/linuxcom/
)
1)查看某一文件夹大小,并排序。(du,sort命令结合)
例如当前文件夹是.cache
$ du --max-depth=3 -h | sort -hr
680M .
657M ./tracker
17M ./abrt/spool/ccpp-2012-09-08-21:12:57-1942
17M ./abrt/spool
17M ./abrt
5.2M ./Kingsoft
3.6M ./Kingsoft/wpp/http
3.6M ./Kingsoft/wpp
1.7M ./Kingsoft/wps/http
1.7M ./Kingsoft/wps
852K ./ibus
768K ./wallpaper
684K ./ibus/bus
92K ./ibus/libpinyin
72K ./ibus/pinyin
注: du - estimate file space usage (详见man du)
sort - sort lines of text files (详见man sort)
2)显示某一列。(cut命令)
$ dateWed Jan 2 10:22:52 CST 2013
$ date | cut -d' ' -f5
10:23:33
3)目录下查找某一文件。(tree、grep)
$tree | grep -C 5 "busybox"4)在文件中用grep进行多关键字查找 (grep)
$ grep -E "open|create" fcntl.h注意:使用正则表达式的知识,其中 ‘|’表示或的意思。
5)解决中文乱码
$ convmv -f gbk -t utf-8 -r --notest *(从gbk 改变到 utf-8 , 进入子目录更改, 更正文件名。)
6)制作gif图片
$ convert -delay 0 相片-00{16..23}* -loop 0 test.gif(注意: {16..23} 代表 16 17 18... 23 这个用法很便捷。)
7)截屏快捷键
fedora下,按下Prt Sc能对整个屏幕截屏; Shift + Prt Sc能自定义截屏
8)用 tr 命令删除空格
cat tmp | tr -d " " >tmp2
9)忘记加sudo了怎么办?
比如你输入了一个很长的命令,结果提示Permission Denied。是不是很郁闷。比较简便方法是: sudo !!
!!表示上一次输入的命令。
或者按向上键,回到刚才输入的命令,然后CTRL + a , 光标是不是移动到了命令的前面?然后在输入sudo即可。
参考
10)用awk统计当前文件夹普通文件的总大小
ls -l | awk 'BEGIN {bytes=0};{if($1~/^-.*/) bytes+=$5};END {print bytes}'
11)统计一个文件夹中的文件行数(包含子文件夹) find xargs wc参考
find . -type f -name "*" | xargs wc -l
上面代码的问题是,如果文件名或文件夹名中含有空格会出错,修订版:
find . -type f -name "*" -print0 | xargs -0 wc -l
不够这样的结果会包含每个文件的行数信息。总行数显示在最后,如果只想显示总行数,可以这样:
( find ./ -name '*.php' -print0 | xargs -0 cat ) | wc -l
12)A
"live" view of a logfile on Linux
http://www.howtogeek.com/howto/ubuntu/a-live-view-of-a-logfile-on-linux/
tail -f XXX.log
这样,如果XXX.log文件有新内容,也能及时显示在屏幕上。
13) 删除文件夹的两种方法
1. rm -rf dir
2. find . -name dir -type d -delete
13.5) 得到文件每一行的最后一个字符
1. sed 's=.*\(.\)$=\1=' file
2. awk '{print substr($NF,length($NF),1)}' inputfile
14) 查找某个目录下指定日期 的文件
如查找 20120228 12:00:01 创建的文件
法1: 先touch -t 一个 20120228 12:00:00 file1 和一个 20120228 12:00:02file2然后再用find的newer
touch -t 201202281200.00 file1
touch -t 201202281202.00 file2
find path -newer file1 ! -newer file2 -exec -ls -l {} \;
参考: http://blog.sina.com.cn/s/blog_685454170100jgef.html
法2: 使用ls awk
ll path | awk -F' ' '{ if( $6~'^2' && $7==28 ) print $0}'
15) 察看文件的时间戳、指定时间戳
stat file
touch -t file
16) getconf : 察看系统限制
$ getconf -a 显示所有
$ getconf -a | grep PATH
PATH_MAX 4096 _POSIX_PATH_MAX 4096 PATH /bin:/usr/bin CS_PATH /bin:/usr/bin
17) cp:
打开覆盖文件提示 (强烈建议添加!)
打开~/.bashrc 添加如下内容:
alias cp='cp -i'
复制文件夹, 使用 -r 选项
cp -r ./servercode ./backup
18) netstat : 察看某个端口被谁占用
netstat -lpnt | grep
19) 使用shell来解码
echo $'\xe6\x9b\xbc\xe8\xb0\xb7'
输出: 曼谷
20) 删除指定文件外的文件
ls | grep -v hello.c | xargs rm -rf会删除当前文件夹下的所有文件,除了hello.c
21) cmatrix
类似黑客帝国
22) 查看一个包里面有什么
rpm -ql pythonq代表查询 l代表list,类似ls的-l
23) 哪个包提供了vim(或其他程序)
rpm -qf `which vim`
24)) 查看一个包都有哪些依赖包
yum deplist gcl
Reducing the yum deplist output to just list package names $ yum deplist $(rpm -q gcl) | awk '/provider:/ { print $2 }'|sort|uniq
yum deplist gcl 2>/dev/null | awk '/provider:/ {print $2}' | sort |uniq
25) 查看XX由哪个包提供
yum whatprovides gcc当然有的时候我们会猜测包名就是gcc,但是有的时候并不灵验。这时就可以用whatprovides来查询了。
26) 快速使用http方式共享目录
#进入需要共享的目录后运行: python -m SimpleHTTPServer #其它电脑使用http://ip:8000 来访问 #自定义端口为8080: python -m SimpleHTTPServer 8080很方便。
27)如何多线程下载
sudo apt-get install axel axel -n 5 http://xxx.xxx.xxx.xxx/xxx.zip 或者 lftp -c "pget -n 5 http://xxx.xxx.xxx.xxx/xxx.zip“
测试了一下,比wget快。
28) 查看文件中间的第五行(含)到第10行(含)的内容
sed -n '5,10p' /var/log/apache2/access.log
29)查找关于xxx的命令
apropos xxx man -k xxx
30) 统计当前目录下占空间最大的前10名文件或目录
du -sm * | sort -nr | head -10
31) 显示农历
#sudo apt-get install lunar date '+%Y %m %d %H' |xargs lunar --utf8
32) 从命令行通知桌面消息
#sudo apt-get install libnotify-bin notify-send "hello world"
33)
linux screen
34)bash的extglob暨如果让bash支持文件名上的正则
需求 一个日志目录,里头存着很多 00, 01, 02 ... 31 的日期目录,如何列示出00到12号之间的所有目录?也就是说,如何在文件名上面,使用正则? 解法 shopt -s extglob ls -al +(0[0-9]|1[0-3]) 说明 bash only (?) 平时shell的通配符,只是通配语义,不是正则语义 加上这个 extglob 之后,才能是正则语义 语法格式是 +正则
35) 向某个终端发信息
获得要接收信息的终端 $ tty /dev/pts/23 在另一个终端发送信息 $ echo `pwd` >/dev/pts/23
好吧,记住 every thing is a file
36) 获得昨天的日期
date '+%F' 取今天的日期,格式是:YYYY-MM-DD。读了一会儿 date(1),发现可以用 -d 'STRING' 选项获取任意日期的日子。不过,STRING 的内容没有文档,就猜,估计 -d 'yesterday' 可以。于是试试:
date -d 'yesterday' '+%F'
37) 你知道吗?
$ ^>^|
意思是把上一个命令中的'>'换成'|'再执行一次。
更多内容
38) Pipe to/from Clipboard
sudo apt-get install xclip alias xclip="xclip -selection c" date | xclip
可以把alias那一句写入 ~/.bashrc中。
39)lsof
察看打开的文件
察看哪些进程打开了Tag.py
$ lsof Tag.py $ lsof .Tag.py.swp COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vim 4067 hongjincao 7u REG 8,7 16384 1450740 .Tag.py.swp发现直接察看Tag.py没有输出,可能是vim使用.swp文件作为缓存吧。
然后查看该进程在哪个tty
$ ps aux | grep 4067 1000 4067 0.0 0.1 159892 9772 pts/23 S+ 11:54 0:00 vim Tag.py 1000 4280 0.0 0.0 13616 944 pts/11 S+ 12:00 0:00 grep --color=auto 4067结果现实,该进程的tty是:pts/23
40) 统计代码行数 cloc
41) 统计当前文件夹下大小最大的10个文件(夹)
ls -S
删除他们(因为文件名中可能有空格,-Q可以用双引号将文件名包含起来)
ls -SQ | xargs rm -rf
[b]42) wget下载ftp文件[/b]
wget ftp://username:password@127.0.0.1/filename.zip[/code]
43)命令行下,将文件内容复制到系统剪切板
1. 安装xclip:sudo apt-get install xclip
2. 例如将文件file的内容copy至剪贴板,用于应用程序间拷贝cat file | xclip -selection clipboard
详情见:http://stackoverflow.com/questions/5130968/how-can-i-copy-the-output-of-a-command-directly-into-my-clipboard
44) add user to sudoer
http://www.codeweblog.com/add-user-to-sudoer-list/
45) 查看图片的命令
eog x.jpg
(eog : eye of gnome)
======================一些好的文章=======================
1、yum how to
2、Ubuntu Skill
3、Copying and Sharing Files
4、how to become a hacker
5、how to ask question in a smart way
6、教堂与集市
7、unix 演绎
8、职业规划一家谈
9、像黑客一样使用命令行
相关文章推荐
- linux中vi命令的常用参数使用总结
- linux学习使用总结-linux系统的安装和与windows双系统共享,linux常用的基本命令,今天贴在这里和大家分享
- Linux常用命令基本使用方法大总结
- linux常用命令的使用总结
- LINUX常用命令总结(一)--VI的使用
- Linux 常用命令基本使用方法大总结
- linux常用命令总结——更新
- Linux 常用命令使用——登陆退出Linux系统
- Linux常用命令总结
- Linux常用命令总结
- Linux 常用命令使用方法
- Linux常用文本处理命令总结1
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)
- 常用linux 命令总结
- Linux常用命令之ping命令详解和使用例子(查看网络通不通) http://www.jb51.net/LINUXjishu/152390.html
- Linux常用命令总结
- Linux常用命令学习总结三(which,find,文件系统,df,du)
- Linux常用命令总结
- Linux总结笔记1-常用命令及脚本基础
- 是时候该总结下自己工作常用的linux命令了