linux shell常用的指令功能
Tim Chen(motion$) Lv5

导航

pwd

  • 查看当前路径(print working directory)

用GUI打开文件夹

  • open . (mac) .:当前目录,可更改为其他目录
  • explorer.exe . (windows)

ls

  • ls: 查看当前目录下的文件
    • a:显示所有文件,包括隐藏文件
    • l:显示详细信息
    • h:人性化显示文件大小
    • la:显示所有文件,包括隐藏文件,详细信息
    • lh:显示详细信息,人性化显示文件大小

cd

  • cd: 改变目录
    • cd ..: 返回上一级目录
    • cd -: 返回上一次所在的目录
    • cd ~: 返回用户主目录
    • cd /: 返回根目录
    • cd /path/to/dir: 进入指定目录

man

  • man : 查看命令的帮助文档
    • q: 退出

文件操作

mkdir

  • mkdir: 创建目录
    • mkdir dir1 dir2: 创建多个目录
    • mkdir -p dir1/dir2: 创建多级目录

cat

  • cat: 查看文件内容
    • cat file1 file2: 查看多个文件内容
    • cat file1 > file2: 将file1的内容覆盖到file2
    • cat file1 >> file2: 将file1的内容追加到file2

cp

  • cp: 复制文件
    • cp file1 file2: 复制文件
    • cp -r dir1 dir2: 复制目录
    • cp -r dir1/* dir2: 复制目录下的所有文件到dir2

rm

  • rm: 删除文件
    • rm file1 file2: 删除多个文件
    • rm -r dir1: 删除目录
    • rm -rf dir1: 请谨慎使用,强制删除目录

mv

  • mv: 移动文件

    • mv file1 file2: 移动文件
    • mv dir1 dir2: 移动目录
  • Linux shell的三剑客grep, sed, awk

find命令

  1. find把某个文件夹下的所有文件名称重定向到txt中,例子:把某个文件下的所有jpg文件名(绝对路径)重定向到savetext.txt中。

    1
    $ find abs_path "*.jpg" > savetext.txt
  2. 文件数量太多,无法mv,报

1
$ bash: /bin/mv: Argument list too long
  • 解决方法

    1
    $ find source/ -name "*.txt" | xargs -i mv {} target/
  1. 统计文件夹下文件数量
1
$ ls -l | wc -l
  1. 查看当前系统运行的python程序
1
$ ps -ef |grep python 
  1. 复制文件夹
1
$ cp -r srt_folder dest_folder
  1. 查看当前目录占用空间
1
$ du -sh
  1. 当前目录文件占用空间按序排列
1
$ du -s * | sort -nr | head

sed命令

  1. 批量修改
1
$ sed -i 's///g' file.txt
  1. 批量修改字符串中包含路径分隔符斜杆,用^分割
1
$ sed -i 's^/data1/images^/data2/images/^g' test.txt
  1. 批量修改带空格的字符串
1
$ sed -i 's#0 #1 #g' *.txt

修改文件权限

1
$ chmod o+w -R folder/file

meld,文件内容比对软件

1
$ sudo apt install meld

cat /sed 查看文件

1
$ sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ 【一】从第3000行开始,显示1000行。即显示3000~3999行

cat filename | tail -n +3000 | head -n 1000

【二】显示1000行到3000行

cat filename| head -n 3000 | tail -n +1000

*注意两种方法的顺序

分解:

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

文件夹卡住了怎么办

1
2
# can kill the folder process
$ pkill -f nautilus

FileZilla遇到编码问题

1
FileZilla Please make sure the LC_CTYPE (or LC_ALL) environment variable is set correctly

https://serverok.in/filezilla-please-make-sure-the-lc_ctype

内存查看

1
procrank | grep benchmark(程序名)

https://blog.csdn.net/qinhai1989/article/details/88112715

 评论