linux命令学习

Posted tszs_song

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令学习相关的知识,希望对你有一定的参考价值。

正确的删除软链接方法:

rm -rf ./xxx     #删除软链接
rm -rf ./xxx/    #删除对应文件

用硬盘换内存挂载/卸载

mount  -t tmpfs -o size=100g  tmpfs /home/xxx/tmp_memory
umount /home/xxx/tmp_memory  #解除挂载

ubuntu桌面版终端打开文件夹

nautilus  path/

查找占用显卡的僵尸进程:

fuser -v /dev/nvidia*

1.系统命令

1.1 双系统挂载windows硬盘

sudo fdisk -l 查看所有windows磁盘

进入mnt目录后

sudo mkdir d 新建一个目录d

sudo rm -r d 递归删除目录d及其目录下的子文件夹

sudo rm -r d* 删除以d开头的所有文件及文件夹

返回根目录

sudo mount /dev/sda6 /mnt/d

1.2 文件管理

递归删除目录下文件:

find . -name "._*.xml" | xargs rm -rf      #删除mac系统中讨厌的._隐藏文件

删除乱码文件

1 ls -i
2 find -inum 12345678 -exec rm -rf {} \\;
cat filename | head -n 30  -----显示文件前30行内容 linux显示文件某几行
ls -d .* 显示隐藏文件
tree -L N ----以树形结构显示目录下第N级文件
chmod -R 777 目录名 --修改目录下权限为可读可写可执行
ls -lR | grep "^-" | wc -l   统计目录下文件个数, wc -l 表示统计符合条件的行数
du -sh *  显示目录下所有目录(包含子目录)和文件的大小
du -h --max-depth=1 /path #显示当前目录下一级子目录文件大小
find ./ -size -10k -exec rm -rf {} \\;  #删除目录下小于10k的文件

具体参考

http://www.cnblogs.com/kobe8/p/3825461.html - 文件或目录占用磁盘空间的大小

http://blog.csdn.net/baikeliang/article/details/52354833 - 查看目录的剩余空间大小

http://www.cnblogs.com/ericsun/archive/2013/08/17/3263739.html - 临时分配交换分区

删除包含大量小文件的目录: 

1 mkdir blank
2 rsync --delete-before -d blank/ dadian2all

合并两个大目录:

1 rsync -av /source/ /destination/
2 #(after checking)
3 rm -rf /source/

1.4  获取权限

sudo passwd root -- 设置密码

su root  -- 输入密码

sudo passwd -l root --去掉权限

:w !root tee % ----用于非root模式下vi了一个readonly文件以后无法保存的情况

1.5 进程管理

ps -ef | grep caffe 查看叫caffe的进程,显示号码
ps -aux | grep un_tar #查找运行脚本名带un_tar的进程
kill -s 9 1827 但好像这样杀死caffe以后就出现了no module named caffe的问题。

2. 其他

ldd 文件名 -查看依赖库

2.2 运行.bin .sh

sudo chmod +x test.bin 加上可执行的权限就可
sudo ./test.bin 运行

sudo chmod +x test.sh 加上可执行的权限
sudo ./test.sh 运行

2.3 ls命令

ls -lrt [p]* --列出目录下以p开头的所有文件

which python --查找python路径

2.4 查看最近输入的命令

history | grep python  --查看最近输入的带python的命令。

shutdown -h now  --- -h 表示关机并彻底断电

root下 ~/ = /root/

普通用户 ~/ = /home/用户名/

 

vim查找与替换

删除空行: :g/^s*$/d

删除字符: :%s/abc//g就是替换命令,把要替换的字符设为缺省就好

 

bash shell常用快捷键

 

2.5文本处理:

cat 1.txt 2.txt >3.txt   #将1.txt和2.txt合并,保存到3.txt
cat 1.txt |head -n 5 > 2.txt  #将1.txt里的前5行保存到2.txt
sed -e \'/abc/d\'  a.txt  > a.log  #删除带abc的行保存到a.log
grep \'yeah\' 1.txt | wc -l   #统计1.txt中yeah出现次数
wc -lcw 1.txt #统计1.txt行数

 2.6 压缩与解压

tar -cf - xxx | pigz -p 12 > xxx.tar.gz #多线程压缩,12是线程数
untar -xzf xxx.tar.gz --strip-components 1 -C ./out/  #解压时去掉第一层目录,保存在out/路径下

 

以上是关于linux命令学习的主要内容,如果未能解决你的问题,请参考以下文章

为什么程序猿都应该学点linux命令?

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

linux学习:Nginx--常见功能配置片段与优化-06

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全