linux常用命令

it2022-05-29  81

git 命令:git log -2 --name-status


docker 命令:1. docker logs :  docker logs --tail=200 -f container_name  2>&1 | grep see4what一直输出docker logs。并且用grep进行截取。docker logs --since=2018-01-09T00:29:00.000Z container_name > 2.txt

2. 批量对container操作:docker ps -a | grep redis | awk '{print $1}' | xargs docker startdocker ps -a | grep redis | awk '{print $1}' | xargs docker kill -f

docker ps -a| perl -ne '@cols = split /\s{2,}/, $_; printf "%-20s s Ps\n", $cols[3], $cols[4], $cols[-1]'3. 新的docker支持这样批量操作container:docker rm -f -v $(docker ps -a -q)  # 批量强制删除全部container并且移除关联的volume


VIM使用:命令模式下:yy复制一行,dd删除一行,x删除当前字符,p粘贴。u撤销,ctrl+r重做。$移动到行尾,0是移动到行首.G跳到最后一行,1G跳到第一行.o是换行。

v模式下:上下方向键选中多行,然后shift+<或>来左移或右移。


解压缩:$ tar zxvf log4cplus-1.0.4-rc10.tar.gz (-C 指定解压目录。如果是*.tar.bz2, 参数是jxvf, 如果是*.tar.xz,参数是xvf)$ unzip -q xxx.zip (-d 制定解压目录)压缩目录:$ tar zcvf xx.tar.gz ~/xx/


改变文件夹的权限:sudo chown -R xiaou:root  ./dir # -R表示递归 xiaou为当前用户名.root为组.(如果只修改group,可以不写冒号前面的user名.)sudo chmod g+rwx ./dir   # 这个命令是dir目录的所有组成员添加rwx权限.


查找文件的绝对路径:$ which halt$ type halt$ whereis haltfind是搜素查找文件的:find -name "*.h" #递归查找.

nb的群删: find . -name "*~" -exec rm '{}' \; 


建立软链接:ln -s 源路径 目的硬链接就是没有-s$ ln -s /usr/bin/nautilus op如果当前目录不是目标目录,请用绝对路径。


man命令查函数man number nameeg:$ man 2 bind


查找与“libuuid”关键字关联的库: apt-cache search libuuid 然后选择合适的,用sudo apt-get install xxx来安装库,如:

 sudo apt-get install uuid-dev


mount挂载windows盘符:$ sudo mkdir /media/E$ sudo mount /dev/sda6 /media/Emount前可以用sudo gparted来查看盘符信息。卸载:$ sudo umount /media/Eps:我linux常常不能自动挂载我的ntfs文件格式的U盘: $ sudo mount -t ntfs /dev/sdb1 /media/U


打开一个新终端,并且保持当前路径:$ gnome-terminal如果是mint13:$ mate-terminal


查看筛选进程状态:ps -o pid,ppid,tty,stat,args,wchan && ps -A -o pid,ppid,tty,stat,args,wchan | grep apn后加管道指向 | wc -l 可以看数量 ~查看网络筛选9000端口的状态:netstat -apn | grep 9000查看tcp 9000:netstat -apn | grep ${port0} | awk '/^tcp/ {print NF,$NF}'Mac下查看端口进程: lsof -i :8080

杀死用到某端口的全部进程:fuser -s -k -9 -n tcp 9000

通过程序名(假设程序名是provider)来查看占用物理内存(方法1:利用ps格式化输出rss):echo $(ps -A -o pid,args,rss | grep provider | grep -v 'grep' | head -1 | awk '{print $3}')KB方法2(利用cat /proc/[pid]/status):cat /proc/$(ps -A | grep provider | grep -v 'grep' | head -1 | awk '{print $1}')/status | grep VmRSS | awk '{print $2$3}'

通过进程名杀次某进程(慎用,没提示的):ps aux | grep provider | awk '{print $2}' | xargs sudo kill -9


多网卡时:

增加静态路由(重启网卡后静态路由会消失):sudo route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0  //设置访问10.***的包都从eth0口转发.sudo route add -net 172.0.0.0 netmask 255.0.0.0 dev eth0sudo route del -net 10.0.0.0 netmask 255.0.0.0查看路由表.route 或 route -n设置默认网关:sudo route add default gw 10.66.80.1 //设置10.66.80.1为默认网关. sudo route del default //删除默认网关


ssh:$ ssh -p 12300 root@10.0.0.1上传文件:$ scp -P 12300 '/xxx/src.tar.gz' root@10.0.0.1:'~/dest/'上传目录 :scp  -r /tmp/local_dir username@servername:remote_dir

rsync比scp更好:

rsync -avP -e 'ssh -p22' --exclude '*.log' xiaou@192.168.0.250:'/etc/*20190506*' ~/tmp


查看文本的某几行:sed -n '2p' test.txt #读第二行sed -n '1, 3p' test.txt #读1到3行


mongo导出json数据到文件, 并且取出掉_id字段:mongo localhost:27017/test --eval "db['myCollectionXX'].find({'XX':'OO'}, { _id:0 }).forEach(function (doc){print(JSON.stringify(doc)+',');})" > xx.js


把stderr和stdout的输出都重定向到文本:

./my_test &> 1.txt  & 


grep查找带空格的字符串, 用单引号把字符串引起来并且开头加上斜杠:

$ ps aux | grep TCPKeepAlive | grep  '\--color=auto TCP'xiaou  27234  0.0  0.0  10448  2024 pts/3    S+   08:17   0:00 grep --color=auto TCPKeepAlive

 


 

看看最近输入的命令:

history | grep 'docker pull'


拷贝:

cp -rpavd src dst 

o(╯□╰)o

 

转载于:https://www.cnblogs.com/xiaouisme/archive/2012/05/21/2512022.html

相关资源:数据结构—成绩单生成器

最新回复(0)