当前位置: 首页 > Linux

linux总结01命令行入口与linux目录结构

时间:2023-04-06 05:20:52 Linux

命令行语法:command-optionsargument1。几个简单的命令datedatecalcalendardfdiskdrivefreespacefreefreememoryexitexitterminalexitterminal快捷键ctrl+d2。navigatepwd当前工作目录cd更改目录相对路径./../统计目录和父目录绝对路径根路径/快捷键cd进入主目录cd-进入上一个工作目录cd~用户名进入用户名主目录 cd~回车当前用户主目录ls列出目录内容ls/usr查看指定目录的内容ls/usr/home或ls~usr查看多个目录的内容ls/u*查看符合正则表达式的文件或目录内容ls-l查看内容详情ls-lt按文件修改顺序排序 ls-lt--reverse逆序ls-a查询全部,包括隐藏文件更多参考https://man.linuxde.net/ls[root@localhost~]#ls-i-lanaconda-ks.cfginstall.log-rw--------1rootroot859Jun1122:49anaconda-ks.cfg-rw-r--r--1rootroot13837Jun1122:49install.log字段说明:-rw--------:文件访问权限,第一个字符表示文件类型,-表示普通文件 d代表目录;接下来的三个字符代表文件所有者的权限;接下来的三个字符代表该文件所属组的成员的访问权限;最后三个字符代表所有其他人权权限1:文件的硬链接数root:文件所有者名称的用户root:文件所属组的名称859:文件大小Jun1122:49:最后修改文件的日期和时间anaconda-ks.cfg:文件名文件决定文件类型$文件hello.jpghello.jpg:JPEG图像数据,JFIF标准1.01,长宽比,密度1x1,段长16,基线??,精度8,500x500,frames3less查看文件内容 lessfilenamelesshello.txt按Q键退出lessless常用快捷键命令功能PAGEUPorbpageupPAGEDOWNorspacedownpageuparrowkeypreviouslinedownarrowkeynextlineG跳转到文本文件末尾1G或g跳转到文本文件开头/characters期待指定字符串n期待下一个指定字符串,此字符串由/character指定h显示帮助q退出软件链接 相当于windows的快捷方式,如ln-s/home/user/eclipse/usr/bin/eclipseLinux目录结构shareable(可共享)unshareable(不可共享)unchanged(静态)/usr(软件放置)/etc(配置files)/opt(第三方协同软件)/boot(引导和核心文件)variable(变量)/var/mail(用户邮箱)/var/run(程序相关)/var/spool/news(新闻组)/var/lock(program-related)四种类型:1.Shareable:可以共享给其他系统挂载使用的目录,所以包含了可执行文件和用户邮箱等数据,是的,可以共享给其他主机上的挂载目录的网络;2.不可共享:自己机器上的程序相关的设备文件或so??cket文件,只与自己机器有关,当然不适合与他人共享3.不变的:有些数据不经常变化,不经常变化分发后不会更改。例如库、文档描述文件、系统管理员管理的主机服务配置文件等;4.易变的:经常变化的数据,比如登录文件,普通用户可以自己接收的新闻组等。其实FHS只是定义了目录树结构的三级目录下应该放什么数据,分别是下面三个目录的定义:/(root,根目录):与引导系统相关;/usr(unix软件资源):与软件安装/执行相关;/var(变量):与系统运行有关。/root目录应该放置文件内容/bin系统有很多放置可执行文件的目录,但是/bin比较特殊。因为/bin放置了在单人维护模式下仍然可以操作的命令。/bin下的命令可以被root和普通账户使用,主要有:cat、chmod(修改权限)、chown、date、mv、mkdir、cp、bash等常用命令。/boot主要放置启动时用到的文件,包括Linux核心文件、启动菜单和启动所需的配置文件等。Linux内核常用的文件名是:vmlinuz。如果使用引导管理程序grub,目录/boot/grub/也会存在。/dev在Linux系统中,任何设备和外设都以文件的形式存在于这个目录中。只要访问这个目录下的某个文件,就相当于访问了某个设备。比较重要的文件有/dev/null、/dev/zero、/dev/tty、/dev/lp、/dev/hd、/dev/sd*等,/etc系统的主要配置文件几乎都是放在这个目录中的,比如有人员账号密码文件,各种服务的启动文件等等。一般来说,这个目录下的每个文件的属性,普通用户都可以查看,但是只有root才有权限修改。FHS建议不要将可执行文件(二进制)放在该目录中。比较重要的文件有:/etc/inittab、/etc/init.d/、/etc/modprobe.conf、/etc/X11/、/etc/fstab、/etc/sysconfig/等。另外,它下面的重要目录有:/etc/init.d/:所有服务的预设启动脚本都放在这里,比如要启动或关闭iptables:/etc/init.d/iptablesstart,/etc/init.d/iptablesstop/etc/xinetd.d/:这是所谓超级守护进程管理的服务的配置文件目录。/etc/X11/:与XWindow相关的各种配置文件都在这里,特别是两个XServer的配置文件,xorg.conf或XF86Config。/home这是系统默认的用户主目录(homedirectory)。当您添加普通用户帐户时,默认的用户主目录将在此处标准化。更重要的是,主目录有两个代号:~:代表当前用户的主目录,~guest:代表名为guest的用户的主目录。/lib系统有很多函数库,/lib把开机时会用到的函数库,指令调用的函数库放在/bin或/sbin下。什么是函数库?你可以把它想象成一个插件,也就是说某些命令必须有这些插件才能顺利完成程序的执行。尤其重要的是/lib/modules/目录,因为这个目录会放置核心相关的模块(驱动)。/mediamedia是媒体的英文单词。顾名思义,可移动设备放在这个/media下。这里临时挂载了包括软盘、CD、DVD等设备。常见的文件名有:/media/floppy、/media/cdrom等。/mnt如果你想临时挂载一些额外的设备,一般建议你放在这个目录下。在古代,此目录的用途与/media相同。只有有了/media之后,这个目录才用于临时挂载。/opt这是第三方协作软件的目录。什么是第三方协作软件?比如桌面管理系统KDE,它是一个独立的项目,但是可以安装在Linux系统上,所以KDE软件推荐放在这个目录下。另外,如果你想自己安装额外的软件(原始发行版没有提供),你也可以在这里安装你的软件。不过在以前的Linux系统中,我们还是习惯把它放在/usr/local目录下。/root系统管理员(root)的主目录。之所以放在这里是因为单人维护模式下如果只挂载根目录,该目录可以有root的家目录,所以我们希望root的家目录和根目录放在同一个分区。/sbinLinux有很多用来设置系统环境的命令。这些命令只能被root用来设置系统,其他用户最多只能用来查询。放在/sbin下的是启动过程中需要的,包括启动、修复、恢复系统所需的命令。至于一些服务器软件程序,一般放在/usr/sbin/。至于本机安装的软件生成的系统可执行文件(systembinary),放在/usr/local/sbin/。常用的命令有:fdisk、fsck、ifconfig、init、mkfs等。/srvsrv可以看成是service的缩写,是一些网络服务启动后这些服务需要访问的数据目录。WWW、FTP等常用服务。例如WWW服务器需要的网页数据可以放在/srv/www/。呵呵,看来我们平时写的代码应该放在这里。/tmp这是一般用户或正在执行的程序临时放置文件的地方。任何人都可以访问该目录,因此您需要定期清理它。当然,重要的资料不能放在这个目录里。因为FHS甚至建议在开机的时候把/tmp下的所有数据都删掉。/usr目录目录应该放置文件内容/usr/X11R6/是放置XWindow系统重要数据的目录。之所以命名为X11R6,是因为最后的X版本是11thversion,这个版本的意思是6threlease。/usr/bin/大多数用户可访问的命令都放在这里。注意它与/bin有何不同。(是否与引导过程有关)/usr/include/c/c++等编程语言文件头(header)和包含文件(include)的放置,我们在安装时以tarball方式(*.tar.gz方式安装software)在使用一些数据的时候,会用到里面的很多include文件。/usr/lib/包含各种应用软件的库、目标文件和普通用户不常用的可执行文件或脚本。有些软件会提供一些专门的指令来配置服务器,而这些指令不会经常被系统管理员操作,所以会放在这个目录下。需要注意的是,如果你使用的是X86_64Linux系统,可能会有一个/usr/lib64/目录生成/usr/local/系统管理员在本机安装自己下载的软件(非发行版默认提供者),推荐安装到这个目录,这样会更容易管理。例如,您的发行版提供的软件较旧,您想要安装较新的软件但又不想删除旧版本。这时候可以在/usr/local/目录下安装新版本的软件,可以和原来的老版本软件有区别。你可以自己去/usr/local看看。该目录下还有bin等子目录,include、lib.../usr/sbin/这些都是系统正常运行所不需要的。最常见的是一些网络服务器软件的服务命令(daemon)/usr/share/放置共享文件的地方。不管硬件架构如何,放在这个目录下的数据几乎都是可读的,因为几乎都是Text文件。该目录下还有这些常用的子目录:/usr/share/man:在线帮助文??件/usr/share/doc:软件杂项说明文件/usr/share/zoneinfo:时区相关时区文件/usr/src/一般源代码建议放这里,src表示source。至于核心源码,建议放在/usr/src/linux/目录下。/var目录目录应该放置文件内容/var/cache/应用程序本身运行过程中会产生的一些临时文件/var/lib/执行过程中需要用到的数据文件所在的目录程序本身被放置。该目录下的每个软件都应该有自己的目录。例如MySQL数据库放在/var/lib/mysql/,rpm数据库放在/var/lib/rpm到/var/lock/某些设备或文件资源一次只能被一个应用程序使用使用,如果两个程序同时使用该设备,可能会出现一些错误的情况,所以必须对设备加锁(lock),以保证该设备只能被单个软件使用。比如刻录机在刻录光盘,大家想一想,两个人会不会同时用同一台刻录机刻录光盘呢?如果两个人同时记录,谁的数据被写入电影?所以当第一个人在刻录的时候,刻录机会被锁住,而第二个人必须让设备解锁(也就是前一个人已经用完了)才能继续使用/var/log,这一点很重要/.这是放置登录文件的目录。里面比较重要的文件有/var/log/messages、/var/log/wtmp(记录登录信息)等。/var/mail/是放置个人邮箱的目录,不过这个目录也是放在/var/spool/mail/目录下的。通常这两个目录是相互链接的文件。/var/run/一些程序或服务启动后,它们的PID会放在这个目录下。/var/spool/这个目录通常包含一些队列数据。所谓“队列”就是排队等待其他程序使用的数据。.这些数据通常在使用后被删除。例如,当系统收到一封新邮件时,会放在/var/spool/mail/中,但原则上用户接受邮件后会删除该邮件。如果暂时无法发送信件,则放在/var/spool/mqueue/,发送后删除。如果是作业调度数据(crontab),会放在/var/spool/cron/目录下。