chmod 777命令_Linux基本常用命令(持续更新)

chmod 777命令_Linux基本常用命令(持续更新)_第1张图片

1. 前言

(1) 终端命令格式

command [-options] [parameter]
  • command: 命令名,相应功能的英文的单词或单词的缩写
  • [-options]: 选项,可以用来对命令进行控制,也可以省略
  • parameter: 传给命令的参数,可以是 0个、 1个 或者 多个

[] 代表 可选

(2) --help

command --help

用于显示command命令的帮助信息

(3) 说明

  • 该文档适用于对Linux命令有有过初步认识的伙伴,可作为简易小文档,便于查询

2. 查看文件信息 ls

  • ls是英文单词list的缩写,其功能为列出目录的内容,最常用的命令之一
  • Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
  • ls常用参数(parameter)
参数 | 含义 
---|--- 
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 
-l | 以列表方式显示文件的详细信息 
-h | 配合 -l 以人性化的方式显示文件大小
  • ls 与参数配合的常用简写命令 ls -alhll

3. 清屏 clear or Ctrl + l

  • clear作用为清除终端上的显示,也可使用快捷键:Ctrl + l ( “l” 为字母 )。

4. 切换工作目录 cd

  • cd命令可以帮助用户切换工作目录。Linux所有的目录和文件名大小写敏感
  • cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
  • cd常用命令
命令 | 含义 
---|--- 
cd | 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。 
cd ~ | 切换到当前用户的主目录(/home/用户目录) - 俗称:回家 
cd . | 切换到当前目录 
cd .. | 切换到上级目录 
cd - | 可进入上次所在的目录
  • 如果路径是从根路径开始的,则路径的前面需要加上/,如 /home,表示进入到根目录的home文件夹下

5. 显示当前路径 pwd

  • 使用 pwd 命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。

6. 创建目录 mkdir

  • 通过 mkdir 命令可以创建一个新的目录,举例:mkdir data,该命令可以在当前目录下创建名为data的文件夹。
  • 参数 -p 可递归创建目录,简单讲就是可以一次创建多层目录结构,举例:mkdir data/data1/data2 -p,该命令可以在当前目录下创建名为data的文件夹,它下面还有data1文件夹,在data1文件夹下还包含data2文件夹。

7. 创建文件 touch [参数] 文件

  • 使用touch 文件名 命令,可以创建文件,举例:touch create_1.py,该命令可以在当前目录下创建名为create_1.py的文件
  • 批量创建文件 touch file{1..5}.txt
  • 修改文件的访问(access)时间:touch -a 文件
  • 改变文件的修改时间记录:touch -m 文件

8. 删除文件或文件夹 rm

  • 使用该命令,总结两个字:谨慎,因为指令删除命令后,文件就无法恢复了。
  • 所以为了防止勿删,可以在rm后使用-i参数以逐个确认要删除的文件
  • rm常用参数:
参数 | 含义 
---|--- 
-i | 以进行交互式方式执行 
-f | 强制删除,忽略不存在的文件,无需提示 
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数

9. 拷贝 cp

  • cp命令的功能是将给出的文件或目录复制到另一个文件或目录中.
  • 常用选项(options):
选项 | 含义 
---|--- 
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 
-f | 已经存在的目标文件而不提示 -i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 
-v | 显示拷贝进度

10. 移动、重命名 mv

  • 用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
  • mv data ./data1 如果data1文件夹存在, 移动data文件夹到data1目录下,移动文件夹不需要加 -r;如果不存在,重命名datadata1
  • 常用选项(options):
选项 | 含义 
---|--- 
-f | 禁止交互式操作,如有覆盖也不会给出提示 
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 
-v | 显示移动进度

11. 输出重定向命令 >

  • Linux允许将命令执行结果重定向到一个文件,即将本应显示在终端上的内容保存到指定文件中。
  • 举例:ls > test.txt ,执行结果:test.txt 如果不存在,则创建,存在则覆盖其内容
  • 注意,> 输出重定向会覆盖原来的内容,>> 输出重定向则会追加到文件的尾部。

12. 分屏显示 more

  • 若要查看的内容信息过长,无法在一屏上显示时,可以使用more命令,每次只显示一页,按空格键可以向下翻页,enter键向下一行一行的显示,如果查看的内容是文本内容,可以按b键向上回看,按q键可以退出。

13. 查看或者合并文件内容 cat

  • 该命令可以查看指定文件的全部内容,举例:cat 1.txt命令可以读取1.txt文件的内容。
  • 合并操作举例:cat 1.txt 2.txt,该命令可以合并这两个文件的内容并查看。

14. 管道 |

  • 管道:一个命令的输出可以通过管道做为另一个命令的输入。
  • 管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。

15. 建立链接文件(软链接和硬链接) ln

  • 使用格式
ln 源文件 链接文件
ln -s 源文件 链接文件
  • 软链接不占用磁盘空间,源文件删除则软链接失效。即软链接名指向源文件名,源文件名再指向文件,所以源文件名删除,则软链接名失效。
  • 硬链接:硬链接只能链接普通文件,不能链接目录。即硬链接名直接指向源文件,即使源文件名删除,硬链接名也依然可以找到源文件,类似于python的引用。
  • 如果没有-s选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式
  • 注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

15. 文本内容搜索 grep

  • 一种强大的文本搜索工具
  • 功能:从某个文件的文件内容中进行查找指定的内容
  • grep一般格式:
grep [-选项] '搜索内容串' 文件名

# example
grep 'ab' demo1.py
  • 常用选项说明:
选项 | 含义 
---|--- 
-v | 显示不包含匹配文本的所有行(相当于求反) 
-n | 显示匹配行及行号 
-i | 忽略大小写
  • grep的搜索内容串可以是正则表达式,关于正则表达式,点击查看。

16. 查找文件 find

  • 通常用来在特定的目录下查找符合要求的文件
  • 还可以用来 查找系统中属于某个用户的文件
  • 常用用法:
命令 | 含义 
---|--- 
find ./ -name demo1.py | 查找当前目录下所有名为demo1.py的文件 
find ./tmp -name '.txt' | 查找tmp目录下所有后缀为.txt的文件 
find ./ -name "[a-zA-Z]" | 查找当前目录下所有以字母开头的文件 
find ./ -size 1M | 查找当前目录下等于1M的文件 
find /tmp -size +1M | 查找在tmp目录下大于1M的文件 
find /tmp -size -1M | 查找在tmp目录下小于1M的文件 
find ./tmp -size +1M -size -2M | 查tmp目录下大于1M,小于2M的文件 
find ./ -perm 777 | 查找当前目录下权限为 777 的文件或目录

17. 打包管理文件(夹) tar

  • 使用格式:tar [-参数] 打包的文件名(xxx.tar) 被打包的文件(夹)
  • 常用的打包命令:tar -cvf 打包的文件名(xxx.tar) 被打包的文件(夹)
  • 常用的解包命令:tar -xvf 打包的文件名(xxx.tar)

18. 文件的压缩 gzipbzip2

  • 使用gzip压缩、解压缩
# 压缩
tar -zcvf 打包压缩的文件名(xxx.tar.gz) 被打包压缩的文件(夹)

# 解压缩
tar -zxvf 打包压缩的文件名(xxx.tar.gz)
  • 使用bzip2压缩、解压缩
# 压缩
tar -jcvf 打包压缩的文件名(xxx.tar.bz2) 被打包压缩的文件(夹)

# 解压缩
tar -jxvf 打包压缩的文件名(xxx.tar.bz2)

19. 修改文件权限 chmod

  • 两种方式修改文件权限:字母法 和 数字法
  • 推荐使用数字法,简单

字母法

  • rwx的理解:r - 表示可读w - 表示可写x - 表示可执行
  • ugoa的理解:u - 表示该文件(夹)的所有者g - 表示与该文件的所有者属于同一组( group )者,即用户组o - 表示其他以外的人;a - 表示三者皆是
  • 举例:chmod u=rw,g=w,o=x test.txt - 表示所有者对test.txt文件具有可读可写的权限,用户组对该文件具有可写的权限,其他队该文件只有可执行的权限

数字法

  • 1 - 表示可执行2 - 表示可写4 - 表示可读取
  • 举例:chmod 761 test.txt - 表示所有者对test.txt文件具有可读可写可执行的权限,用户组对该文件具有可读可写的权限,其他队该文件只有可执行的权限
  • 如执行:chmod u=rwx,g=rx,o=r test.txt 就等同于:chmod 751 test.txt
  • 注意:如果想递归所有目录加上相同权限,需要加上参数-R。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限

20. 退出登录账户 exit

21. 杀掉进程 kill pid or kill -9 pid

  • 其中pid表示:当前的进程id,可以在在当前代码程序中引入os模块,(即:import os),然后在对应的代码位置调用getpid()方法(即:os.getpid()),接受其返回值就是pid,是一个int类型的数值。
  • 如果使用kill pid无法杀掉进程,使用kill -9 pid一定可以杀掉该进程,俗称绝杀

22. 查看进程 ps -aux or top or htop

  • 其中htop需要下载依赖包
  • top可以实时查看进程(隔段时间会更新)

23. 在终端再开一个新窗口 Ctrl + Shift + t

24. 查看网络是否连通 ping 域名/IP

25. 查看或配置网卡信息 ifconfig

26. 快速跳到命令行的行首及行尾 ctrl + a - 行首 ctrl + e - 行尾

27. 查看之前的命令记录 history

  • !n 这里的n是代表数值,这个命令值:指执行对应的行的命令。!31->指执行history历史记录里第31行的命令;
  • history -c 清空历史记录的命令。

28. 查看当前登录的用户信息 whow

  • linux下登陆用户的行为信息—w和who命令详解-作者:特里

29. 显示内存状态 free

  • free -m 以mb为单位显示内存使用情况;
  • free -s 2 每2秒执行一次命令。

30. 显示系统信息 uname

  • uname -a 显示系统的全部信息:系统名|主机名|网卡内核信息|制作系统的时间...

31. 查看系统负载 uptime

  • 命令执行结果:10:17:20 up 33 min, 1 user, load average: 0.00, 0.00, 0.13
  • 当前时间:10:17:20 up
  • 系统已运行时间:33 min
  • 当前在线用户:1 user
  • 平均负载:0.00,0.00,0.13 -> 最近1分钟、5分钟、15分钟系统的负载
  • 更详细的说明:请点击查看linux中uptime命令查看linux系统负载-作者:jihite

32. 显示用户最近登录信息 last

33. 查看文件的前m行 head -n m 文件名

34. 查看文件的后m行 tail -n m 文件名

35. 用于计数的命令 wc

  • wc -l 文件名 - 查看文件有多少行
  • wc -c 文件名 - 统计字节数
  • wc -w 文件名 - 统计文件中英文单词的数量

36. 打开文件 gedit

  • gedit 文件名,打开文件后可以进行编辑。

37. tr 用于替换文本文件字符

  • demo - 把文档中的小写字母替换为大写字母,并在终端输出:cat 文件名 | tr [a-z] [A-Z]

38. stat 查看文件的具体存储信息和时间等信息

  • stat 文件名

39. cut 按‘列’提取文本,格式为cut [参数] 文本

  • cut可以用于提取最想要的数据,-d参数可设置间隔符号,-f用于设置要查看的列数
  • 创建一个文本1.txt
# 文本内容
1: a
2: b
3: c
4: d
5: e
6: f

# 执行cut -d: -f1 1.txt 命令,输出为:
1
2
3
4
5
6

# 执行cut -d: -f2 1.txt 命令,输出为:
 a
 b
 c
 d
 e
 f
  • 创建一个文本2.txt
# 文本内容
1:a,2:b,3:c,4:d

# 执行cut -d: -f1 2.txt 命令,输出为:
1

# 执行cut -d: -f2 2.txt 命令,输出为:
a,2

# 执行cut -d: -f3 2.txt 命令,输出为:
b,3

# 执行cut -d: -f4 2.txt 命令,输出为:
c,4

# 执行cut -d: -f5 2.txt 命令,输出为:
d

40. diff 用于比较多个文本文件的差异,格式diff [参数] 文件

  • diff --brief 文件1 文件2 - 查看文件是否相同
  • diff -c 文件1 文件2 - 比较两个文件的不同指之处,且不同的位置会有!标记。

41. echo 输出字符串或提取Shell变量的值, echo [参数] [字符串]

  • 用法1:在变量前加上$符号的方式提取出变量的值,例如:$PATH,然后再用echo命令予以输出;
  • 用法2:直接使用echo命令输出一段字符串到屏幕上,起到给用户提示的作用。
  • demo
# 提取变量
echo $PATH
# /home/python/Downloads/node-v6.1.0-linux-x64/bin

# 输出字符串
echo 'this is a test'
# this is a test

41. 从一个文件中获取指定内容大小的数据到新的文件中 dd if=旧文件 of=新文件 bs=字节数 count=提取次数

  • dd if=old_file.txt of=new_file.txt bs=60 count=1
  • if 表示 输入文件
  • of 表示 输出文件
  • bs 表示 每次提取的字节数
  • count 表示 需要提取的次数

42. file 文件 查看该文件的类型

43. 常见的通配符

  • "*"、"?""、"[]"、"[^]"、"[!]"、"{}"

字符 | 含义 ---|--- * | 匹配任意字符 ? | 匹配单个字符 [] | 匹配方括号中的任意一个,不能用于创建目录和文件 [^] | 不匹配方括号中的任意字符,等同于[!] [a-z] | 匹配方括号中a-z的任意字符 {str1, str2} | 匹配括号中的任意一个字符串,表示一个范围时,字符串之间加个..

  • demo
# 创建file1 和file2两个文件夹
mkdir file{1,2}

# 创建file1 到 file9 9个文件夹
mkdir file{1..9}

# 删除file1 到 file9 这9个文件夹
rm file{1..9} -r

# 删除file5 到 file9 这5个文件夹
rm file[^1-4] -r
rm file[!1-4] -r

44. alias 设置命令别名

  • demo
alias lx=ls
- 这里执行lx,就相当于执行ls命令

alias pp = "cat 1.txt"
- 这里执行pp,就相当于执行cat 1.txt命令

45. which 查看某个模块的路径地址

  • which pip - 查看pip库的路径地址

46. pip freeze

  • 当前环境下,有哪些python相关的第三方模块

46. netstat -apn 查看网络状态、端口状态

  • 找到5000端口对应的pid netstat -apn | grep 5000

47. ctrl + h - 切换查看隐藏文件

48. tail -F 文件名 - 实时查看指定文件内容的变化

49. Linux 终端:快捷复制:ctrl+shift+c;快捷粘贴:ctrl+shift+v

你可能感兴趣的:(chmod,777命令,linux,打包文件夹,linux,查找文件夹,linux,查找文件夹位置,linux给文件夹777权限,批量删除txt文档内容命令)