各种命令
1.绝对路径与相对路径
cd | 用来变更用户所在目录,如 #cd /tmp/就变换到了tmp下,cd后面如果什么都不跟就会进入当前用户的根目录下,一般是root |
---|
pwd | 用于显示当前所在目录 |
mkdir [-mp] [目录名称] | 创建目录,-m指定目录的权限,很少用。如果说想要创建/tmp/test/123这个文件夹,但是没有test这个文件夹,直接mkdir会报错,此时可以使用-p创建一连串的文件夹 |
rmdir | 删除空目录,不能删除有文件的目录,很少用,一般用rm |
rm [-rf] | 第一个是-r 删除目录,可以删除非空目录,并且询问是否删除 如#rm -r /tem/test/123;第二个是-f,强制删除,如#rm -f /tmp/test/123。一般两个连起来用-rf,但一定要注意后面不要加/,否则会把系统文件都删除 |
2.环境变量PATH
which | 查找命令的绝对路径,比如查找rmdir的: #which rmdir |
---|
cp[选项][来源文件][目的文件] | -r:复制目录,如# cp -r 123 456(把123复制成456)。-i:安全选项,询问是否覆盖原来存在的文件 |
mv[选项][源文件或目录][目标文件或目录] | 移动目录或文件,把源文件移动到目标文件里,如果目标文件不存在,则将源文件改名为目标文件,如果目标文件存在,则将源文件移进目标文件下。 |
3.几个文档相关的命令
cat [文件名] | 查看文件;-n:查看文件时也会输出文件内容的行号;-A:显示文件中所有内容 ,包括特殊字符 |
---|
tac | 从最后一行显示文件内容 |
more | 查看文件内容非常多的文件,Ctrl+D向上翻页,Ctrl+F向下翻页,按q键退出 |
less | 和more的作用类似,只不过空格键翻页,j键向下移动一行,k键向上移动一行 |
head | 显示文件的前十行,如果加-n,则显示文件的前n行。如 head -2 /etc/passwd(显示前两行) |
tail | 用于显示文件的后10行,如果加-n,则显示文件后n行。如tail -4 /etc/passwd(显示后四行)。如果加-f,则可以动态的显示文件的后十行(方便文件内容一直在增加或减少的时候使用) |
4.更改文件的权限
chgrp[组名][文件名] | 更改文件或目录的所属组 。比如将文件123的所属组改为testgroup的代码:#chgrp testgroup 123。如果更改目录的所属组,需要加上一个-R,否则只有目录的所属组变了,目录下文件的所属组不会发生变化 |
---|
groupadd | 增加一个用户组 |
chown [-R] 账户名:组名 文件名 | chown -R user1:testgroup dir3 |
chmod | 更改文件权限,Linux使用数字代替rwx,r等于4,w等于2,x等于1,-等于0,表示的时候,每三个一组,比如rwxrwx—表示770。在Linux系统中,一个目录的默认权限是755,而一个文件的默认权限是644。修改的代码形式为#chmod -R 700 dir3 (drwx------) |
umask | 直接输入umask,会出现umask的值,一般默认为0022,也可以自定义,负责改变文件的默认权限 |
5.修改文件的默认属性
格式 | chattr[±=][Asaci][文件或者目录名] |
---|
+ | 增加 |
- | 减少 |
= | 设定 |
A | 增加该属性后,表示文件或目录的atime将不可修改 |
s | 增加该属性后,会将数据同步写入磁盘中 |
a | 增加该属性后,表示只能追加不能删除,非root用户不能设定该属性 |
c | 增加该属性后,表示自动压缩该文件,读取时会自动解压 |
i | 增加该属性后,表示文件不能删除、重命名、设定链接、写入以及新增数据 |
其中 i和a的属性比较常用
如
#chattr +i dir2
#touch dir2/test5
touch:无法创建“dir2/test5”:权限不够
#chattr -i dir2
#touch dir2/test5
#ls dir2
test1 test2 test3
#chattr +a dir2
#rm -f dir2/test3
rm:无法删除“dir2/test3”:不允许的操作
#touch dir2/test7
#ls dir2
test1 test2 test3 test7
lsattr [-aR] [文件/目录名] | 用于读取文件或者目录的特殊权限(Asaci) |
---|
-a | 类似于ls的-a选项,即连同隐藏文件一同列出 |
-R | 连同子目录的数据一同列出 |
关于权限最前面那位的操作
set uid | 该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限 |
---|
set gid | 可以作用在二进制可执行文件,或者目录上 |
sticky bit | 防删除位,普通用户只能删除自己创建的文件 |
6.在Linux下搜索文件
which | 查找可执行文件的绝对路径。如# which vi 得到/usr/bin/vi |
---|
whereis [-bms] [文件名称] | 查找所有含有文件名的文件。-b:只查找二进制文件,-m:只查找帮助文件(在man目录下的文件),-s:只查找源代码文件。例如#whereis ls得到ls:/usr/bin/ls/ /usr/share/man/man1/ls.gz /usr/share/man/man1p/ls.lp.gz |
locate | 类似于whereis,并且需要安装 |
find[路径][参数] | 常用的几个参数1.-atime +n/-n :表示访问或执行时间大于小于n天的文件;2.-ctime +n/-n:表示写入、更改inode属性的时间大于或小于n天的文件;3.-mtime +n/-n:表示写入时间大与或小于n天的文件;4.-name filename:表示直接查找该文件名的文件,如#find . -name filename得到./dir2/test2 (.表示当前目录),如果把test2改为test*,*表示任意字符,可以找到所有以test开头紧接一个字符的文件;5.-type filetype:通过文件类型(f,b,c,d,l,s等)查找文件,如#find . -type d |
time的三个属性
atime(access time) | 在读取文件或者执行文件时更改 |
---|
mtime(modified time) | 在文件内容更改时更改 |
ctime(change time) | 在写入文件、更改所有者、权限或链接位置时随inode内容的更改而更改 |
stat命令可以列出文件的atime、mtime、ctime
如
文件类型
- | 普通文件:包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件 |
---|
d | 目录 |
b | 块设备文件 : 就是存储数据以供系统存取的接口设备,简单而言就是硬盘 |
c | 字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等 |
s | 套接字文件:这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。 |
p | 管道文件:FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误 |
l | 链接文件:类似Windows下面的快捷方式 |