一.Linux树型目录结构
在详解常用命令之前,先对Linux的树型目录结构做个简单的了解
/ #根目录
/bin #基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, cd等等。这个目录中的文件都是可执行的,一般的用户都可以使用。
/dev #设备文件,比如声卡、磁盘、鼠标、键盘等。
/etc #系统管理和配置文件
/etc/init.d #启动配置文件和脚本,可在这里添加启动脚本。
/etc/rc.local #用户添加启动项
/home #用户主目录,比如用户user的主目录就是/home/user,可以用~user表示
/lib #标准程序设计库存放路径,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin #超级管理命令,这里存放的是系统管理员使用的管理程序。
/tmp #临时文件目录,有时用户运行程序的时候,会产生临时文件。 /tmp就用来存放临时文件的。
/root #系统管理员的主目录
/mnt #用来临时挂载其他的文件系统
/lost+found #这个目录平时是空的,系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。
/media #即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录
/proc #虚拟文件目录,可直接访问这个目录来获取系统信息。
/var #所有服务的登录文件或错误讯息档案(log files)都在 /var/log 里面
/boot #包含Linux内核及系统引导程序所需要的文件,比如 vmlinuz initrd.img 文件都位于这个目录中。在一 般情况下,GRUB或LILO系统引导管理器也位于这个目录;
/usr #最庞大的目录,要用到的应用程序和文件几乎都在这个目录,其中包含:
usr/bin #众多的应用程序
/usr/sbin #超级用户的一些管理程序
/usr/include #Linux下开发和编译应用程序所需要的头文件
/usr/lib #常用的动态链接库
/usr/share/man #帮助文档
/usr/src #源代码,Linux内核的源代码就放在/usr/src/Linux里
/usr/local/bin #本地增加的命令
/usr/local/lib #本地增加的库根文件系统
. :代表当前路径
.. :代表上一级目录
~ :代表用户目录路径
二.常用命令详解
2.1 ls 命令
ls是英文单词list的缩写.用来查看文件目录的属性。
- 例如直接输入ls按回车,查看根目录的文件以及目录。
ls
2.1.1 ls -l命令
-
ls -l l参数代表以列表的方式显示。
ls -l #第一个字符d 代表这是一个目录文件。 # ‐ 代表普通文件 # c 字符设备文件 # b 块设备文件 # p 管道文件 # l 链接文件 # s socket文件 #后面的rwxr‐xr‐x字符,代表user、group、other对文件所拥有的权限,rwx代表该用户拥有读写执行的权限。r‐x 代表同一组的用户拥有的读和执行权限,后一个r‐x代表其他用户拥有读和执行权限。 # 2代表文件硬链接的计数,表示该文件有两个硬链接。 # where 文件所属的用户名。 # where 文件所属的用户组。 # 4096 文件大小,单位字节。 # 6月 25 16:53 文件最后被修改的日期。 # Videos 文件名
2.1.2 ls -a命令
-
ls -a a参数代表all的意思,表示把所有的文件都罗列出来,包括隐藏文件,点号开头的在Linux中都表示隐藏文件。
ls -a
ls ‐ld [filename] 代表只列出目录文件的属性。
-
2.2 stat命令
查看文件的访问时间,修改时间等
stat /bin
访问时间,是指通过指令如cat、vi等来查看的文件的最近一次时间。更改时间,是指修改文件内容的最近一次时间。 改动时间,是指修改文件属性的最近一次时间。 注意:访问时间是内容更改后,第一次访问的时间,后面再次访问的时候访问时间不会改变
2.3 cd命令
cd 是 change directory的缩写,表示改变当前所在路径。
cd - ##回上一次所在的目录
cd ~ 或 cd ##会当前用户的主目录
cd / ##回到根目录
cd .. ## 回当前目录的上一目录
2.4 pwd命令
pwd 是英文print working directory 显示当前所在路径。
cd /bin
pwd
2.5 which命令
寻找可执行文件 ,并在PATH环境变量里面寻找
which 执行文件名称
2.6 touch命令
将每个文件的访问及修改时间都更新为目前的时间。
如果文件不存在,则创建一个字节数为0的文件。
‐a #只更新访问时间,不改变修改时间
‐c #不创建不存在的文件
‐m #只更新修改时间,不改变访问时间
‐r file #使用文件file的时间更新文件的时间
‐t #将时间修改为参数指定的日期,如:07081556代表7月8号15点56分
2.7 mkdir 命令
mkdir 是make directory的英文缩写。
创建目录DIRECTORY,可以一次创建多个。OPTION如果是p,表示可以连同父目录一起创建。
mkdir dir1 ## 创建 dir1 文件夹
2.8 rmdir 命令
rmdir是remove directory的英文缩写。
rmdir -p dir1/dir2/dir3 ##删除多级目录
删除空目录,可以一次删除多个。OPTION如果是p,表示可以连同空的父目录一起删除。但是一旦父目录中还包含其他文件,则删除失败。
2.9 rm 命令
rm是remove的英文缩写。
可以用来删除普通文件,也可以用来删除目录,特别用来删除目录中嵌套有子目录的目录文件。 常用参数:
‐f ‐‐force #强制删除,不询问是否要删除。
‐r ‐‐recursive #递归删除,包括文件夹中的内容
2.10 mv命令
mv是英文单词move的缩写。可以用来移动文件夹或者文件,也可以用来更改文件名。
mv file / #把文件file移动到根目录中
mv file file_bak #把文件file重命名为file_bak。
2.11 cp命令
cp是英文单词copy的缩写,表示拷贝文件。
##可以用来拷贝普通文件:
cp file file_bak #拷贝一份file为file_bak
##可以用来拷贝目录
cp dir dir_bak ‐r #拷贝一个目录dir为dir_bak, ‐r参数代表递归拷贝,把dir目录中的文件也拷贝过去
2.12 cat命令
cat英文单词concatenate连锁的缩写,用来查看文件内容,以及将几个文件连成一个文件,
- 不填文件参数,默认的情况下是从标准输入中获取内容:
cat
##查看某个文件
cat demo ## demo为文件名称