1.ls命令
ls命令可以列出当前目录下的文件
ls-l 可以列出当前目录下的文件详细信息
ls-a查看当前目录下的所有文件(包含隐藏文件)
ls-d查看当前目录
ls-ld查看当前目录的详细信息
ls-la查看当前目录下所有文件的详细信息(包含隐藏文件)
ls-lt 加t列出的文件信息按时间顺序排列,最新的排在最前面
ls-ltr 如果想按照时间逆序排序则加一个r
ls-i 列出当前目录下的文件对应的inode
ls-lh 列出的文件的容量一栏以友好的可读性显示
2.目录结构
*/ 根目录
*bin存放一般用户可以执行的可执行文件,可以是一些命令
*sbin存放超级用户可以执行的可执行文件
sbin和bin并没有明确的界限
类似的有/usr/bin和/usr/sbin
*/boot
linux内核及引导系统程序所需要的文件目录
用du命令可以查看到目录的大小
*/dev存放linux的外部设备 linux下一切皆文件
*/etc存放系统,服务的一些配置文件
*/homelinux系统普通用户的家目录,所有的普通用户的家目录在home下
*root用户的家目录在root下/root
*/lib目录下存放库文件
*/lost+found默认为空目录,类似于回收站,例如电脑意外断电时会保存断电前的数据
*media和mnt默认为空,有时会把u盘,光盘挂载在mnt下
*/opt默认为空,存放某些大型软件或特殊软件的目录
*/proc以进程ID为名字的目录,还有一些和内核相关的目录,内核映像
*/srv存放服务启动后需要提取的数据
*/tmp/存放系统产生的临时文件
*/usr有时会把用户自己安装的程序放在usr下,类似于windows的programFiles
*/var存放日志
3.alias:可以为命令起别名
alias别名=“要起别名的内容”
unalias:取消为命令所起的别名
unalis别名
man:可以用来查看命令的用法
4.快捷键
ctrl+L:清屏
ctrl+c:取消当前准备运行的命令
ctrl+z:挂起当前任务,想返回任务按fg
ctrl+a:光标回到命令首
ctrl+e:光标回到命令的最末尾
ctrl+u:清除当前所写的命令
ctrl+k:清除光标后面的命令
ctrl+d:推出终端
ctrl+s:锁住命令终端
ctrl+q:解锁命令终端
5.mkdir命令
用于创建目录,格式为:mkdir[-mp] [目录名称]
-m选项指定要创建目录的权限
在Linux中,如果发现它要创建的目录的上一级目录不存在会报错,但使用-p选项可以创建一大串级联目录
6.rmdir命令
用于删除空目录,后面可以是一个目录,也可以是多个目录(用空格分开),该命令只能删除目录,不能删除文件,有选项-p,可以级联删除一大串目录,但在级联的目录中,如果某一个目录里还有目录或文件时,就无法使用该命令。
7.命令rm
-r:删除目录用的选项,可以删除非空目录。
-f:表示强制删除,如果后面跟一个不存在的文件或者目录,则不会报错,但如果删除一个已经存在的目录则会报错,所以使用rm删除命令时一定要加-r选项。
8.cp命令
cp是copy的缩写,该命令的格式为:
cp[选项][来源文件][目的文件]
-r:如果要复制一个目录,必须加-r选项,否则不能复制这个目录。
-i:安全选项,会询问是否覆盖
9.命令mv
mv[选项][源文件或目录][目标文件或目录],该命令有如下几种情况:
*目标文件是目录,但该目录不存在:会把源目录重命名为给定的目标文件名
*目标文件是目录,且该目录存在:则会把源文件或目录移动到该目录中
*目标文件是文件,且该文件不存在:则会把源文件重命名为给定的目标文件名。
*目标文件是文件,且该文件存在:询问是否覆盖
10.命令cat
用于查看一个文件的内容并显示在屏幕上,cat后面可以不加任何选项直接跟文件名
-n:查看文件时,把行号也显示到屏幕上
-A:显示所有内容,包括特殊字符。
11.命令tac
作用也是把文件的内容显示到屏幕上,是cat命令显示内容的反序
12.命令more
用于查看一个文件的内容,后面直接跟文件名。当文件内容太多时,一屏不能全部显示时,用cat肯定看不了前面的内容,使用命令more可以解决这个问题,当看完一屏后,按空格件键可以继续看下一屏,看完所有内容退出,提前退出按q键。
13.命令less
命令less的作用和命令more一样,后面直接跟文件名,但命令less可以实现上翻和下翻,按空格键可以翻页,按“j”键可以向下移动,按k键可以向上移动,在使用more和less查看某个文件时,可以按“/”键,输入某个字符串,然后按回车键,就可以查找这个字符串了,如果是查找多个该字符串可以按“n”键显示下一个,另外,也可以用“?”代替“/”来搜索字符串,唯一不同的是,“/”是当前行向下搜索,“?”是当前行向上搜索。
14.命令head
用于显示文件的前10行,后面直接跟文件名,如果加-n选项则显示文件的前几行,选项-n后面有无空格均可,另外也可以省略字母n,-后面直接跟数字。
15.命令tail
和head命令类似,命令tail用于显示文件的最后10行,后面直接跟文件名,如果加n则显示文件的最后几行。
-f:可以动态地显示文件的最后10行。
16.Linux文件属性
利用ls-l查看属性
第一列:包含文件的类型,所属主,所属组以及其他用户对文件的权限
第一位:
用来描述文件的类型
d:表示该文件为目录
-:表示该文件为普通文件
l:表示该文件为链接文件
b:表示该文件为块设备
c:表示该文件为串行端口设备文件(字符设备文件)
s:表示该文件为套接字文件(socket)用于进程间的通信
后九位:
每3个为一组,前三位是所属主权限,中三位是所属组权限,后三位其他非本群组用户权限
是rwx三个参数的组合,r:可读w:可写 x:可执行
17.命令chgrp
chgrp可以更改文件,目录的所属组,其格式为:“chgrp[组名][文件名]”
groupadd添加一个用户组
如果想要级联更改目录以及子文件,加-R选项可以实现。
18.chown
chown命令可以更改文件的所属主,七格式为:“chown[-R]账户名文件名”或者“chown[-R] 账户名:组名文件名”
19.命令chmod
Linux使用数字代替“rwx”r=4,w=2,x=1,-=0,chmod用于改变用户对文件的读写执行权限,其格式为:“chmod[-R] xyz文件名”(这里的”xyz”表示数字),chmod还支持用rwx的方式来设置权限,可以用“u”,”g”,”o”来分别表,示user,group,other的属性,用“a”表示all
20.命令chattr
格式为:“chattr[+-=][Asaci][文件或者目录名]”其中,“+”,“-”,“=”分别表示增加,减少,和设定。各个选项的含义如下:
A:增加该属性后,表示文件或目录的atime将不可被修改。
s:增加该属性后,会将数据同步写入到磁盘中
a:增加该属性后,表示只能追加不能删除,非root用户不能设定该属性
c:增加该属性后,表示自动压缩该文件,读取时会在自动解压
i:增加该属性后,表示文件不能被删除,重命名,设定链接,写入以及新增数据。
21.命令lsattr
该命令用于读取文件或者目录的特殊权限,其格式为:“lsattr[-aR][文件/目录名]”。
-a:连同隐藏文件一起列出
-R:连同子目录的数据一同列出
22.命令umask
用于改变文件的缺省权限,格式为:”umaskxxx”(xxx代表3个数字),如果要查看umask的值,则在命令行输入“umask”即可
用户建立普通文件,预设没有可执行权限,最大值为666(-rw-rw-rw-)
用户建立目录,预设所有权限均开放,即777(drwxrwxrwx),umask代表默认值需要减掉的权限。
23.setuid、setgid和stickybit
setuid:该权限针对二进制可执行文件,使文件在执行阶段具有文件所有者的权限。
setgid:任何用户在此目录下创建的文件都具有和该目录所属的组相同的组
stickybit:防删除位。”chmodo+t dirname”
24.命令which
which命令只能用来查找PATH环境变量中出现的路径下的可执行文件。
25.命令whereis
whereis是通过预先生成的文件库去查找与给出的文件名相关的文件
其格式为:whereis[-bmsu][文件名称]
-b:只查找binary文件
-m:只查找在说明文件manual路径下的文件。
-s:只查找source来源文件
-u:查找没有说明档的文件
26.命令find
格式为:find[路径][参数]
参数选项:
-atime+n/-n:表示访问或执行时间大于或小于n天的文件
-ctime+n/-n:表示写入、更改inode属性(如更改所有者,权限或者链接)时间大于或者小于n天的文件。
-mtime+n/-n:表示写入时间大于或者小于n天的文件。该参数用的最多。
-namefilename:表示直接查找该文件名的文件,这个选项比较常用。
-typefiletype:表示通过文件类型查找文件,包括f、d、c、d、l、s
27.软链接和硬链接
ln:ln[-s][来源文件][目的文件]
不加-s建立硬链接
加-s建立软链接
28./etc/passwd
/etc/passwd由“:“分割为7个字段
第一个字段为用户名
第二个字段为密码(该账户的口令),存放在/etc/shadow中,现在用”x“代替。
第三个字段为一个数字,代表用户标识号,也称为uid
第四个字段也是数字,表示组标识号,也称gid
id用户名命令可以看用户的uid和gid
第五个字段为注释说明,没有实际意义,通常记录一些用户的属性,通常用chfn命令来更改这些信息
第六个字段表示用户的家目录,可以用echo$HOME来看用户的家目录
最后一个字段为用户的shell
29./etc/shadow
该文件由”:”分成了9段
第一段为用户名,与/etc/passwd对应。
第二段为经过加密的用户密码。
第三个字段为上次更改密码的日期,以1970年1月1日和上次更改密码的日期为基准计算而来。
第四个字段为要过多少天才可以更改密码,默认是0。
第五个字段为密码多少天后到期,即在多少天内必须更改密码,默认99999,可以理解为永远不需要更改。
第六个字段是密码到期前的警告期限。
第七个字段为帐号的失效期限。
第八个字段为帐号的生命周期。
最后一个字段作为保留用,无意义。