Talk is cheap, Show me the code

0%

Ubuntu终端常用命令

经常忘记的Ubuntu终端命令,mark一下

文件相关

  • 超级权限文件夹
    sudo nautilus

  • 软连接
    ln -s /home/panda/Programs/ ~/桌面/Programs

  • 增删改查

    1
    2
    # 删
    find . -type f -executable -delete # 删除所有可执行文件
  • 统计文件夹下文件数量/大小

    1
    2
    3
    4
    5
    6
    7
    8
    ls -l | grep "^-" | wc -l     # 统计当前目录下文件的个数(不包括目录)
    ls -lR | grep "^-" | wc -l # 统计当前目录下文件的个数(包括子目录)
    ls -lR | grep "^d" | wc -l # 查看某目录下文件夹(目录)的个数(包括子目录)

    ls |head -n 20 # 显示前n个
    ls |tail -n 20 # 显示后n个

    du -h --max-depth=1 # 查看当前目录下一级文件或文件夹各自使用的总空间大小
  • 随机选择

    1
    2
    3
    4
    5
    6
    7
    ls | shuf -n 10 | xargs -i mv {} path-to-new-folder  # 随机移动10个文件到目标文件夹

    # 移动部分文件
    # move n files from dir1 to dir2
    ls -Q dir1 | head -n | xargs -i mv dir1/{} dir2/
    # 随机移动部分
    ls src_path | shuf -n number |xargs -i cp src_path/{} dest_path
  • 压缩解压

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    # 仅打包,并非压缩
    tar -xvf FileName.tar # 解包
    tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包

    # .gz
    gunzip FileName.gz # 解压1
    gzip -d FileName.gz # 解压2
    gzip FileName # 压缩,只能压缩文件

    # tar.xz
    tar -xvf FileName.tar.xz # 解压1
    tar -xvJf FileName.tar.xz # 解压2

    # .tar.gz 和 .tgz
    tar -zxvf FileName.tar.gz # 解压
    tar -zcvf FileName.tar.gz DirName # 将DirName和其下所有文件(夹)压缩
    tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径

    # 感觉.zip占用空间比.tar.gz大
    unzip FileName.zip # 解压
    zip FileName.zip DirName # 将DirName本身压缩
    zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩

    # mac和linux并没有自带rar,需要去下载
    rar x FileName.rar # 解压
    rar a FileName.rar DirName # 压缩

权限相关

  • 查看权限:

    ls -l

    ls -ld

  • 修改文件或目录的拥有者

    sudo chown user.group file/dir

    sudo chown -R user.group dir # 加-R设置文件夹和所有子文件夹

  • 设置文件和文件夹权限

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sudo chmod 600 ××× # 只有所有者有读和写的权限
    sudo chmod 644 ××× # 所有者有读和写的权限,组用户只有读的权限
    sudo chmod 700 ××× # 只有所有者有读和写以及执行的权限
    sudo chmod 666 ××× # 每个人都有读和写的权限
    sudo chmod -R 777 ××× # 每个人都有读和写以及执行的权限
    # 0 [000] 无任何权限
    # 4 [100] 只读权限
    # 6 [110] 读写权限
    # 7 [111] 读写执行权限

    # chmod abc file
    # 其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
    # r=4,w=2,x=1
    # 若要rwx属性则4+2+1=7;
    # 若要rw-属性则4+2=6;
    # 若要r-x属性则4+1=5。
    • 例如:
      sudo chmod 777 file/dir
  • 设置文件可执行

    chmod +x file.sh

环境/软件相关

  • 查看opencv版本
    pkg-config --modversion opencv

  • ssh后台运行程序

    • nohub: no hang up
    • 2>&1: 将标准出错重定向到标准输出
    • &: 后台运行

    nohup command > myout.file 2>&1 &

  • 脚本运行特点

    • “.”、“source”、“sh”、“./”、“export”的区别
      • source 同“.”, 用于使shell读入指定的shell文件,并依次执行文件中的所有语句(当前shell)
      • sh 创建一个子shell,继承父shell的环境变量,同时在子shell中执行脚本里面的语句
      • ./ 当脚本文件具有可执行属性时,与sh无异,./filename是因为当前目录并未在PATH中
      • export 设置或显示环境变量,临时作用于当前shell

其他

  • 刷新dns的缓存:
    sudo /etc/init.d/nscd restart
    如果发现提示命令找不到:sudo: /etc/init.d/nscd: command not found
    需要先安装nscd包:
    sudo apt-get install nscd
  • 重启网络:
    sudo /etc/init.d/networking restart
  • 修改grub参数并更新grub
    sudo vim /etc/default/grub
    sudo update-grub

  • 设置ssh时的终端颜色
    tput colors 可以查看当前色彩深度
    在.bashrc中加入 export TERM='xterm-256color 可以设置为256色

Ubunt& Vim 常用命令汇总壁纸

img

-------------The End-------------