Linux目录结构和常用命令
2018-01-06 22:22
726 查看
一、Linux目录结构
你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下。为什么没在/bin中,或/sbin,或/usr/sbin目录中?所有这些目录之间有什么不同?
在这篇文章中,让我们回顾一下Linux的文件系统结构,并理解各上层目录的含义。
蓝色:表示目录
青色:表示链接
黑色:表示文件
1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
2、/bin中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc - 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。见下图:
5、/dev - 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、/proc - 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
7、/var - 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
8、/tmp - 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、/usr - 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你
4000
从源安装Apache,它会在/usr/local/apache2中。
10、/home - HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、/boot - 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12、/lib - 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld*或lib*.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
13、/opt - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv - 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
【参考】
Linux Filesystem Hierarchy
Source and pre-formatted versions available 1. Linux Filesystem Hierarchy
1.1. Foreward1.2. The Root Directory1.3. /bin1.4. /boot1.5. /dev1.6. /etc1.7. /home1.8. /initrd1.9. /lib1.10. /lost+found1.11. /media1.12. /mnt1.13. /opt1.14. /proc1.15. /root1.16. /sbin1.17. /usr1.18. /var1.19. /srv1.20. /tmp
Glossary A. UNIX System V Signals B. Sources C. About the Author D. Contributors E. Disclaimer F. Donations G. Feedback H. GNU Free Documentation License
H.1. PREAMBLEH.2. APPLICABILITY AND DEFINITIONSH.3. VERBATIM COPYINGH.4. COPYING IN QUANTITYH.5. MODIFICATIONSH.6. COMBINING DOCUMENTSH.7. COLLECTIONS OF DOCUMENTSH.8. AGGREGATION WITH INDEPENDENT WORKSH.9. TRANSLATIONH.10. TERMINATIONH.11. FUTURE REVISIONS OF THIS LICENSEH.12. ADDENDUM: How to use this License for your documents
二、常用命令
1、命令帮助
2、用户
3、SHELL
4、显示硬盘、分区、CPU、内存信息
5、网络
6、进程
7、文件
1、命令帮助[root@localhost ~]#man ps
2、用户$finger username 显示用户username的信息
$who 显示当前登陆用户
$who am I
$su 成为root用户
$sudo command 以root用户身份执行
$passwd 更改密码
3、SHELL$history 显示在当前shell下命令历史
$alias 显示所有的命令别称
$alias new_command='command' 将命令command别称为new_command
$env 显示所有的环境变量
$export var=value 设置环境变量var为value
4、显示硬盘、分区、CPU、内存信息$df -lh 显示所有硬盘的使用状况$du -sh * 显示当前目录下各个目录和文件的大小
$mount 显示所有的硬盘分区挂载
$mount partition path 挂在partition到路径path
$umount partition 卸载partition
$sudo fdisk -l 显示所有的分区
$sudo fdisk device 为device(比如/dev/sdc)创建分区表。 进入后选择n, p, w
$sudo mkfs -t ext3 partition 格式化分区patition(比如/dev/sdc1)
修改 /etc/fstab,以自动挂载分区。增加行:
/dev/sdc1 path(mount point) ext3 defaults 0 0
$arch 显示架构
$cat /proc/cpuinfo 显示CPU信息
$cat /proc/meminfo 显示内存信息
$free 显示内存使用状况
5、网络$ifconfig 显示网络接口以及相应的IP地址。ifconfig可用于设置网络接口
$ifup eth0 运行eth0接口
$ifdown eth0 关闭eth0接口
$iwconfig 显示无线网络接口
$route 显示路由表。route还可以用于修改路由表
$netstat 显示当前的网络连接状态
$ping IP 发送ping包到地址IP
$traceroute IP 探测前往地址IP的路由路径
$dhclient 向DHCP主机发送DHCP请求,以获得IP地址以及其他设置信息。
$host domain DNS查询,寻找域名domain对应的IP
$host IP 反向DNS查询
$wget url 使用wget下载url指向的资源
$wget -m url 镜像下载
6、进程$top 显示进程信息,并实时更新
$ps 显示当前shell下的进程
$ps -lu username 显示用户username的进程
$ps -ajx 以比较完整的格式显示所有的进程
$kill PID 杀死PID进程 (PID为Process ID)
7、文件$touch filename 如果文件不存在,创建一个空白文件;如果文件存在,更新文件读取和修改时间。
$rm filename 删除文件
$cp file1 file2 复制file1为file2
$ls -l path 显示文件和文件相关信息
$mkdir dir 创建dir文件夹
$mkdir -p path 递归创建路径path上的所有文件夹
$rmdir dir 删除dir文件夹,dir必须为空文件夹。
$rm -r dir 删除dir文件夹,以及其包含的所有文件
$file filename 文件filename的类型描述
$chown username:groupname filename 更改文件的拥有者为owner,拥有组为group
$chmod 755 filename更改文件的权限为755: owner r+w+x, group: r+x, others: r+x
$od -c filename 以ASCII字符显示文件
$cat filename 显示文件
$cat file1 file2 连接显示file1和file2
$head -1 filename 显示文件第一行
$tail -5 filename 显示文件倒数第五行
$diff file1 file2 显示file1和file2的差别
$sort filename 对文件中的行排序,并显示
$sort -f filename 排序时,不考虑大小写
$sort -u filename 排序,并去掉重复的行
$uniq filename 显示文件filename中不重复的行 (内容相同,但不相邻的行,不算做重复)
$wc filename 统计文件中的字符、词和行数
$wc -l filename 统计文件中的行数
8.tar命令详解
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-C:指定解压的目标路径
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下。为什么没在/bin中,或/sbin,或/usr/sbin目录中?所有这些目录之间有什么不同?
在这篇文章中,让我们回顾一下Linux的文件系统结构,并理解各上层目录的含义。
蓝色:表示目录
青色:表示链接
黑色:表示文件
1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
2、/bin中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc - 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。见下图:
5、/dev - 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、/proc - 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
7、/var - 变量文件
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
8、/tmp - 临时文件
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、/usr - 用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你
4000
从源安装Apache,它会在/usr/local/apache2中。
10、/home - HOME目录
所有用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、/boot - 引导加载程序文件
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
12、/lib - 系统库
包含支持位于/bin和/sbin下的二进制文件的库文件.
库文件名为 ld*或lib*.so.*
例如:ld-2.11.1.so,libncurses.so.5.7
13、/opt - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv - 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
【参考】
Linux Filesystem Hierarchy
Source and pre-formatted versions available 1. Linux Filesystem Hierarchy
1.1. Foreward1.2. The Root Directory1.3. /bin1.4. /boot1.5. /dev1.6. /etc1.7. /home1.8. /initrd1.9. /lib1.10. /lost+found1.11. /media1.12. /mnt1.13. /opt1.14. /proc1.15. /root1.16. /sbin1.17. /usr1.18. /var1.19. /srv1.20. /tmp
Glossary A. UNIX System V Signals B. Sources C. About the Author D. Contributors E. Disclaimer F. Donations G. Feedback H. GNU Free Documentation License
H.1. PREAMBLEH.2. APPLICABILITY AND DEFINITIONSH.3. VERBATIM COPYINGH.4. COPYING IN QUANTITYH.5. MODIFICATIONSH.6. COMBINING DOCUMENTSH.7. COLLECTIONS OF DOCUMENTSH.8. AGGREGATION WITH INDEPENDENT WORKSH.9. TRANSLATIONH.10. TERMINATIONH.11. FUTURE REVISIONS OF THIS LICENSEH.12. ADDENDUM: How to use this License for your documents
二、常用命令
1、命令帮助
2、用户
3、SHELL
4、显示硬盘、分区、CPU、内存信息
5、网络
6、进程
7、文件
1、命令帮助[root@localhost ~]#man ps
2、用户$finger username 显示用户username的信息
$who 显示当前登陆用户
$who am I
$su 成为root用户
$sudo command 以root用户身份执行
$passwd 更改密码
3、SHELL$history 显示在当前shell下命令历史
$alias 显示所有的命令别称
$alias new_command='command' 将命令command别称为new_command
$env 显示所有的环境变量
$export var=value 设置环境变量var为value
4、显示硬盘、分区、CPU、内存信息$df -lh 显示所有硬盘的使用状况$du -sh * 显示当前目录下各个目录和文件的大小
$mount 显示所有的硬盘分区挂载
$mount partition path 挂在partition到路径path
$umount partition 卸载partition
$sudo fdisk -l 显示所有的分区
$sudo fdisk device 为device(比如/dev/sdc)创建分区表。 进入后选择n, p, w
$sudo mkfs -t ext3 partition 格式化分区patition(比如/dev/sdc1)
修改 /etc/fstab,以自动挂载分区。增加行:
/dev/sdc1 path(mount point) ext3 defaults 0 0
$arch 显示架构
$cat /proc/cpuinfo 显示CPU信息
$cat /proc/meminfo 显示内存信息
$free 显示内存使用状况
5、网络$ifconfig 显示网络接口以及相应的IP地址。ifconfig可用于设置网络接口
$ifup eth0 运行eth0接口
$ifdown eth0 关闭eth0接口
$iwconfig 显示无线网络接口
$route 显示路由表。route还可以用于修改路由表
$netstat 显示当前的网络连接状态
$ping IP 发送ping包到地址IP
$traceroute IP 探测前往地址IP的路由路径
$dhclient 向DHCP主机发送DHCP请求,以获得IP地址以及其他设置信息。
$host domain DNS查询,寻找域名domain对应的IP
$host IP 反向DNS查询
$wget url 使用wget下载url指向的资源
$wget -m url 镜像下载
6、进程$top 显示进程信息,并实时更新
$ps 显示当前shell下的进程
$ps -lu username 显示用户username的进程
$ps -ajx 以比较完整的格式显示所有的进程
$kill PID 杀死PID进程 (PID为Process ID)
7、文件$touch filename 如果文件不存在,创建一个空白文件;如果文件存在,更新文件读取和修改时间。
$rm filename 删除文件
$cp file1 file2 复制file1为file2
$ls -l path 显示文件和文件相关信息
$mkdir dir 创建dir文件夹
$mkdir -p path 递归创建路径path上的所有文件夹
$rmdir dir 删除dir文件夹,dir必须为空文件夹。
$rm -r dir 删除dir文件夹,以及其包含的所有文件
$file filename 文件filename的类型描述
$chown username:groupname filename 更改文件的拥有者为owner,拥有组为group
$chmod 755 filename更改文件的权限为755: owner r+w+x, group: r+x, others: r+x
$od -c filename 以ASCII字符显示文件
$cat filename 显示文件
$cat file1 file2 连接显示file1和file2
$head -1 filename 显示文件第一行
$tail -5 filename 显示文件倒数第五行
$diff file1 file2 显示file1和file2的差别
$sort filename 对文件中的行排序,并显示
$sort -f filename 排序时,不考虑大小写
$sort -u filename 排序,并去掉重复的行
$uniq filename 显示文件filename中不重复的行 (内容相同,但不相邻的行,不算做重复)
$wc filename 统计文件中的字符、词和行数
$wc -l filename 统计文件中的行数
8.tar命令详解
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-C:指定解压的目标路径
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
相关文章推荐
- [置顶] Linux目录结构与常用命令
- linux的命令解析器和常用的快捷键(以及简单的目录结构)
- Linux(二) 常用命令和目录结构
- Linux目录结构和常用命令
- 【linux学习笔记之一】linux系统目录结构以及常用系统命令
- Linux目录结构和常用命令
- 转:Linux 目录结构和常用命令
- Linux目录结构和常用命令
- linux常用命令(23):Linux 目录结构
- Linux目录结构和常用命令(转载)
- 【Linux】Linux目录结构及常用操作命令
- Linux目录结构和常用命令
- linux--目录结构、编辑器及常用命令
- 【Unix/Linux】【系统】Linux系统的目录结构和常用命令
- Linux目录结构和常用命令(七)
- linux(centos)部分常用命令以及目录结构简单介绍
- Linux 文件目录结构及基本常用命令
- gcc编译过程、C语言编译过程分析、环境变量设置、linux文件夹结构和用途介绍、常用文件和目录的操作命令、文件类型
- Linux目录结构及常用命令大全
- Linux的目录结构讲解及常用命令(一)