目录操作

  • 进入dir目录

cd dir
  • 返回上一级

cd ..
  • 返回上两级

cd ../..
  • 返回根目录

cd /
  • 返回最近一次访问目录

cd -
  • 查看当前访问路径

pwd
  • 将test目录或文件压缩成一个名为newzip的压缩文件,可在名称前加上路径

zip newzip.zip test
  • 查看当前目录内容

ls
  • 查看目录中的隐藏文件

ls -a
  • 创建名为dir的目录

mkdir dir
  • 删除名为dir的目录或文件

rm -rf dir
  • 移动dir目录到指定url路径

mv dir url
  • 复制dir目录下所有内容到dir2目录中,其中dir和dir2都可以是目录所在路径。

备注:如果复制目录则必须需要加-r参数,才能将目录中的所有内容都复制过去,复制文件则不需要加-r参数。

cp -r dir dir2
  • 查看当前目录下所有目录或者文件的大小(但不包括目录下的大小)和权限信息。

单位:B,以下两种相同

ls -ll
ls -l

单位:KB

ls -lh
  • 查看当前所在目录权限以及大小(但不包括目录下的大小),加h单位是KB,不加则为B。

ls -ld
  • 查看当前所有目录和文件的总大小(包括目录下面内容的大小),单位自动,视情况使用KB、MB、GB等。

du -sh
  • 查看名为dir的目录或文件大小(包括目录下面内容的大小),单位自动,视情况使用KB、MB、GB等。

du -sh dir
  • 查看当前目录下所有一级目录或文件各自的大小

    --max-depth指定最大深度,0就是只计算查看当前目录下的内容。

    如果想查询到当前目录的二级子目录,则可以将0改为1,三级子目录则改为2,以此类推……

du -h --max-depth=0 *

微信图片_20210225141101.png

如果是1,则会把这几个目录下的二级子目录和文件都计算展示出来。

文件编辑

  • 查看file文件内容,正向查看文件。

cat file
  • 查看file文件内容,反向查看文件。

tac file
  • 打开一个file文件

vim file
  • 打开文件后编辑文件

I
  • 使用I进入编辑模式后退出编辑

ESC
  • 按ESC退出编辑后使用,保存并退出编辑窗口

:wq
  • 按ESC退出编辑后使用,保存但不退出编辑窗口

:w
  • 按ESC退出编辑后使用,强制性保存但不退出编辑窗口

:w!
  • 按ESC退出编辑后使用,将修改保存到另外的file中,当file文件不存在时自动创建

:w file
  • 按ESC退出编辑后使用,强制性保存并退出编辑窗口

:wq!
  • 按ESC退出编辑后使用,不保存退出并退出编辑窗口

:q
  • 按ESC退出编辑后使用,不保存强制退出并退出编辑窗口

:q!
  • 按ESC退出编辑后使用,放弃所有修改,从上次保存的开始编辑:

:e!

权限相关

  • 查看当前目录下的权限信息

    备注:

    文件最前方有十个字符。

    第一个代表文件类型,-代表是普通文件,d代表是目录。

    后面九个代表权限一共分成3组,每3个一组,分别是所有者、所属组、其他人。

    clipboard.png

ls -l
  • 给dir目录或文件设置777权限。

权限数字表示:

r=4,w=2,x=1。

例如:

rwxrw-r--:三个一组,rwx权限分别对应421,相加得7,rw-对应42相加,r--对应4。

chmod 777 dir
  • 给dir目录以及他下面文件和目录设置777权限,R必须大写。

chmod -R 777 dir
  • 给dir目录或文件的所有者单独加一个读的权限

u:所有者, g:所属组,o:其他人,a:所有。

+:添加权限,-减少权限,=直接赋值成这个权限。

chmod u+r dir

其他命令

  • 查看80端口占用情况

lsof -i tcp:80
  • netstat 命令用于显示网络状态

#查看TCP和Socket的网络信息,并显示正在使用Socket的程序识别码(pid)和程序名称
netstat --tcp --listening --program   #等同于:netstat -t -l -p
  • kill 命令用于杀死指定pid的进程(假设Websocket进程的pid为123456)

kill 123456   #杀死进程
kill -KILL 123456   #强制杀死进程
kill -9 123456   #彻底杀死进程(是操作系统从内核级别强制杀死一个进程)
kill -15 123456 可以理解为操作系统发送一个通知告诉应用主动关闭.
  • 拼合命令:杀死指定(9502)端口进程

kill -15 `netstat -nlp | grep :9502 | awk '{print $7}' | grep -o '[0-9]*'`
  • 持久化启动python3的Django项目

nohup python3 manage.py runserver 0.0.0.0:80 >>log_app.out>&1 &
  • 持久化启动某个程序,log_app.out 为日志文件,&1是保存标准输出内容的意思,最后&后台运行的意思

nohup 启动命令 >>log_app.out>&1 &
  • 根据 文件或目录名称 搜索

find 【搜索目录】【-name或者-iname】【搜索字符】:-name和-iname的区别一个区分大小写,一个不区分大小写

eg:在/etc 目录下搜索名字为init的文件或目录

find /etc -name init (精准搜索,名字必须为 init 才能搜索的到)
find /etc -iname init (精准搜索,名字必须为 init或者有字母大写也能搜索的到)
find /etc -name *init (模糊搜索,以 init 结尾的文件或目录名)
find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___)