系统目录结构
Linux 或 Unix 操作系统中,所有文件和目录呈一个以根节点为始的倒置的树状结构。文件系统的最顶层是根目录,用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此,就构成了一个庞大的文件系统。
在命令窗口下输入命令:ls /,显示根目录下的文件:
树状目录结构:
目录解释
以下是对这些目录的解释:
系统启动必须:
-
/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
-
/etc:Etcetera(等等) 的缩写。这个目录用来存放所有的系统管理所需要的配置文件和子目录。
-
/sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
-
/lib:Library(库) 的缩写。这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
指令集合:
-
/bin:Binaries (二进制文件) 的缩写。这个目录存放着最经常使用的命令。
-
/sbin:s 是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
外部文件管理:
-
/dev :Device(设备) 的缩写。 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
-
/media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
-
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统,可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
临时文件:
- /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
- /usr:unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
-
/usr/bin:系统用户使用的应用程序。
-
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
-
/usr/src:内核源代码默认的放置目录。
-
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /tmp:temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
-
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
-
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
运行过程中要用:
-
/proc:Processes(进程) 的缩写。/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件。这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
-
/var:variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
扩展用的:
-
/srv:该目录存放一些服务启动之后需要提取的数据。
-
/opt:optional(可选) 的缩写。这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
Redhat/CentOS 特有的目录:
-
/selinux:这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
补充
Linux 系统中有几个比较重要的目录需要注意,不要误删除或者随意更改内部文件。
- /etc:这个是系统中的配置文件,如果更改了该目录下的某个文件可能会导致系统不能启动。
- /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。值得提出的是 /bin、/usr/bin 是给系统用户使用的指令(除 root 外的通用用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
- /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
终端
简介
Linux终端是Linux操作系统中强大而灵活的工具,是一种命令行界面,也被称为命令行终端、Shell或控制台。提供了与系统进行交互的方式。在Linux终端中,用户可以使用文本命令来执行各种任务,如文件管理、进程管理、软件安装、网络配置等。
Linux终端的核心组件是Shell,它是一个解释器,解析用户输入的命令并传递给操作系统的程序,并把操作系统反馈信息输出的程序。Linux中有多种Shell可用,其中最常见的是Bash(Bourne Again Shell),它是许多Linux发行版的默认Shell。其他常见的Shell包括Zsh(Z Shell)、Fish(Friendly Interactive Shell)等。
终端命令的基本形式:
command [-options ] parameter1 parameter2
命令中第一个输入的部分绝对是命令(command) 或可执行文件,按下Enter键则表示开始执行这一条命令。若输入的命令行太长,可以使用反斜杠(\)来转义Enter符号(注意:反斜杠后立刻接特殊字符,才能转义。),使得输入的命令行能连续到下一行;如果有几个要一起执行的命令,各个命令之间可以用分号(;)隔开,再按Enter来一起执行(例如:ls -a;ls -al)。
普通用户 & root用户
Ubuntu系统中有两类用户,一类是普通用户(如下图中的:chen),一类是root用户(拥有管理员权限的超级用户)。
打开终端后,命令提示符是$,表示以普通用户的身份登录了终端。若以root身份登录,可输入如下命令:sudo su 或 su root,回车再输入密码(注意:输入密码的时候是看不到密码的),即可以root用户的身份登录终端。若不知道密码或杠安装好Ubuntu,需要先设置root的密码,首先输入指令:sudo passwd root,回车并输入现登录用户的密码,然后再依次输入两次自定义的root密码,root密码就设置完成了,之后就可以用:su root指令登录root了。
以root用户的身份登录终端命令行提示符会变为:#。输入exit或CTRL+D可退出root用户,回到普通用户,再输入exit或CTRL+D,则可退出终端。
注:$:普通用户的命令行提示符; #:root用户的命令行提示符 。
图形模式 & 文字模式
Ubuntu系统有两种使用模式,一是图形模式,预设了6个文字接口终端机 tty1 ~ tty6 。二是文字模式。
图形模式与文字模式的切换方式如下:
- CTRL+ALT+F1 ~ F6:文字接口登入 tty1 ~ tty6 终端机
- CTRL+ALT+F7:图形接口桌面
常用的快捷键 & 终端命令(指令 )
快捷键
- Ctrl+Alt+T:进入Ubuntu终端;
- Ctrl+C:停止在终端中运行的程序;
- Ctrl+Z:暂停在终端中运行的程序,如果想继续执行程序,可输入百分号%;
- TAB:补全目录或命令。例如,在终端中输入tou,再按TAB,将补全命令出现touch;
- CTRL+SHIFT+T:新建标签页;
- CTRL+D:关闭标签页(终端);
- Ctrl+A:光标移到行首 ;
- Ctrl+E:光标移到行尾;
- Ctrl+U:清除光标到行首的字符 ;
- Ctrl+W:清除光标之前一个单词 ;
- Ctrl+K:清除光标到行尾的字符;
- Ctrl+S:挂起当前shell;
- Ctrl+Q:重新启用;
- Ctrl+L :清空终端;
- Ctrl+Shift+C/V:在终端中进行复制与粘贴操作;
- CTRL+ALT+F1 ~ F6:文字接口登入 tty1 ~ tty6 终端机;
- CTRL+ALT+F7:图形接口桌面。
指令
- sudo reboot :用来重启Linux系统,这和Windows系统中的restart一样
- sudo shutdown -r now:立刻重启
- sudo shutdown -r 10:过10分钟自动重启
- sudo shutdown -r 20:35 : 在时间为20:35时候重启
注:可以用命令:shutdown -c 取消通过命令:shutdown设置的重启。
- sudo halt : 立刻关机(一般加-p 关闭电源)
- sudo poweroff : 立刻关机
- sudo shutdown -h now : 立刻关机
- sudo shutdown -h 10 : 10分钟后自动关机
- exit:退出终端
注:可以用命令:shutdown -c 取消通过命令:shutdown 设置的关机。
- ls:列出当前目录下的所有显式文件
- ls -a:列出当前目录下的所有文件,包括以点(.)开头的隐藏文件
- ls -l:列出当前目录下的所有显式文件,以及与文件相关的属性信息
- ls -al:列出当前目录下的所有文件与相关的文件属性,包括隐藏文件
- 注:两个特殊目录(当前目录和父目录),以及隐藏目录或文件。
当前目录:用户当前所在的工作目录,使用一个点“ . ”来表示,也可以使用“ ./ ”来表示;
父目录:当前目录的上一级目录,使用两个点“ .. ”来表示,也可以“ ../ ”来代表;
隐藏目录或文件:以一个点 . 开始的目录或文件名表示隐藏目录或文件(如:.bashrc)。即,以默认方式查找时,不显示该目录或文件。可以在命令窗口中使用 ls 命令查看当前目录下的隐藏文件及目录。
- date:输出当前系统时间
- date +%Y/%m/%d:输出当前系统日期:年/月/日(/是可有可无的,其主要充当分隔符)
- date +%H:%M:输出当前系统时间:时:分(:的作用同上)
- cal:显示当前系统的本月日历
- cal [[moth] year]:显示某年某月的日历,如cal 10 1993将显示1993年10月的日历
- bc:进入一个简单的计算器,运算符可以是:+ - * / ^ %等。
注:在此计算器中,只要输入计算式,再按Enter键,即可输出计算结果。例如输入:1+2,再Enter,即输出结果3。如果输入1/2,再Enter,结果却是0,原因是计算器默认进行的是整除计算,即结果只输出整数部分,而不输出小数部分。如再输入9/2,结果为4。若想输出小数,可输入命令:scale=number,其中number表示保留的小数位数,如输入命令scale=3,再输入9/2,结果将为4.500,保留有三位小数。退出计算器的命令为:quit。
- pwd:显示当前路径
- touch file_name:在当前路径创建一个名称为filename的文件
- mkdir new_folder:在当前路径创建一个名称为folder的文件夹
- rm file_name:删除当前路径中名为filename的文件,此命令只能删除文件,不能删除文件夹
- rmdir empty_folder_name:删除空文件夹(不能删除带有文件的文件夹)
- rm -r folder:删除带有文件的文件夹
- rm -rf dir_name/file_name:删除当前路径中名为dir_name的文件夹,或名为file_name的文件
- cd ..:返回上一层目录
- cd 绝对路径:进入某一目录。例如:cd .. 或 cd /home/chen 或 cd ~
.. // 代表上一层目录
. // 代表当前目录
- // 代表前一个目录
~ // 代表当前用户的宿主目录
/ // 代表Ubuntu系统的根目录* // 指所有文件-万能匹配型
- apt-get:在ubuntu中用来在线安装、卸载软件。如安装vim:apt get install vim,如卸载vim:apt get remove vim。安装必须是在线的,即系统Ubuntu必须上网才可使用此命令。
- 查看cpu温度:(1)安装acpi指令:sudo apt-get install acpi;(2)输入指令:acpi -t ,输出cpu温度
- free -m:单独查看内存使用情况
- top:查看内存及cpu的使用情况
- gnome-system-monitor:打开ubuntu下的任务管理器
- clear:等价于:Ctrl+l。刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。一般都会用这个命令。
- reset:完全刷新终端屏幕,之前的终端输入操作信息将都会被清空,这样虽然比较清爽,但整个命令过程速度有点慢,使用较少。