Linux
- 文件权限:rwx,x表示能否进入当前目录,没有该权限也可以查询目录下的文件名列表。
- rwx对于目录:r代表能否使用ls命令(如果是./test/test1/test2,test1不需要r权限),w表示能否在目录创建文件,x表示能否进入该目录作为工作目录。
- rwx对于文件:r表示能否查看文件名,w修改文件,x比如执行某个命令(ls)需要x权限,但修改和读取都不需要x。
- chgrp:改变用户所属用户组
- chown:改变文件所有者
- chmod:改变文件权限
- 文件类型
- 可执行文件(binary):就是二进制文件,linux系统只认识、能执行这种文件。
- 目录(directory):第一个属性为d,如[drwxrwxrwx]
- 连接文件(link):第一个属性是l,类似windows系统里的快捷方式
- 设备与设备文件(device):
- 套接字(sockets):第一个属性是s
- 目录
- 文件名开头是'.',表示隐藏文件
- 一下这五个必须与根目录放在相同分区,因为它们都与开机过程有关
- /etc:配置文件,如账号密码
- /bin:重要执行文件,如命令
- /lib:函数库、内核所需的模块,如/bin和/sbin里的命令用到的函数
- /dev:设备文件
- /sbin:重要的系统执行文件,开机、还原系统需要的命令
- 路径有关
- cd:~或后面什么都不写表示回到自己的主文件夹。..表示上层目录。-表示回到刚才那个目录。
- pwd:显示当前目录print working directory。
- mkdir:只能创建单层目录
- mkdir -p test1/test2/test3:-p表示可以创建多层目录
- mkdir -m 777 test4
- 展示
- ls -l:列出文件、目录所有信息,不包括隐藏文件。
- ls -al:列出文件、目录所有信息,包括隐藏文件。
- 复制分四种情况:文件、目录、连接文件、特殊文件
- cp /bin/ls /root:将bin里的ls复制到root
- cp -a /bin/ls /root:复制的时候把所有人所属的组和时间也复制过来,但是如果这个文件复制人没有w的权限,只能保证时间相同,所属人变成复制人的名字和组。
- cp -r /bin/ls /root:复制ls 目录 下的所有内容到root。只要第一个参数不是文件是目录,即使目录是空的,也要用-r。
- cp -s /bin/ls /root:给文件复制出一个软连接
- cp -l /bin/ls /root:给文件复制出一个硬链接
- cp bashrc_slink bashrc_slink1:给连接文件复制出连接文件指向的文件
- cp -d bashrc_slink bashrc_slink2:给连接文件复制出同样的连接文件,但时间不同。
- 移动
- mv 文件 路径:将文件复制到某路径。
- mv -f 路径 路径:递归复制路径下的内容,如有重名直接覆盖。
- 删除
- rmdir:如果有内容无法直接删除,只能删除为空的目录。
- rm test:删除一个目录或文件。
- rm -r test:递归删除,要删除有文件的目录。
- 查看文件内容
- 一整页查看,用得少
- cat 文件
- cat -n
- cat -b
- tac 文件
- nl 文件
- more 文件:分页查看,无法倒退。然后再输入“/”加要查找的单词,表示向下查询
- less 文件:分页查看,可以倒退。PgUp和空格向上翻页,PgDn向下翻页。
- head -n 3 文件:只看前3行。
- tail -n 3 文件:只看后三行
- od 二进制文件
- PATH
- echo $PATH:$后面跟的是变量,这个语句是查看PATH的内容,用:隔开。不同用户默认的PATH不同,因此默认能够随意执行的命令也不同。
- vim=vi
- ctrl+b:上移一页
- ctrl+f:下移一页
- 0或home:移到当前行开头
- $或end:移到当前行结束
- gg:移动到第一行
- G:移动到最后一行
- 数字N+enter:向下移动N行
- /word:寻找word单词,向下查询。如果把回车键替换为N,则是向上找。
- ?word:寻找word单词,向上查询。
- yy:复制光标所在那一行。
- dd:删除光标所在一整行。
- u:相当于ctrl+c,撤销
- q!:强制退出,不保存。
- 正则表达式
- ^:没有或者不要
- word$:找出word在行尾。
- []:和方括号里的匹配,不论方括号里有几个,都只代表一个字符。
- *:0到任意多个。
- .:任意一个字符。
- \{2\}:限定两个。