Linux

Linux

1.Linux系统目录结构

树状目录结构

  1. /bin:是二进制文件(Binaries)的缩写,这个目录存放着最经常使用的命令。
  2. /boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件及镜像文件。
  3. /dev:是设备Device的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  4. /etc:是Etcetera(等等)的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  5. /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录是以用户的账号命名的。
  6. /lib:是Library(库)的缩写,这个目录里放着最基本的动态连接共享库,其作用类似于Windows的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  7. /mnt:系统系统该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt上,然后进入该目录就可以查看光驱里的内容了。
  8. /opt是optional(可选)的缩写,这是给主机额外安装软件所摆放的目录。比如,安装一个ORACLE数据库则就可以放在这个目录下,默认是空的。
  9. /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  10. 10./sys:这是Linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的文件系统sysfs。sysfs文件系统集成了下面三种文件系统的信息:针对进程信息的proc文件系统,针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  11. /tmp:是temporary(临时)的缩写,这个目录是用来存放一些临时文件的。
  12. /usr:是unix shared resources(共享资源)的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都被放在这个目录下,类似于windows下的program files目录。
  13. /var:是variable(变量)的缩写,这个目录中存放着不断扩充着的东西,我们习惯性将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  14. /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删除或清除。如果你的系统上有/var/run目录,应该让它指向run

在Linux中,有几个目录比较重要,平时需要注意不要误删除或着随意更改内部的文件。
/etc:这是系统中的配置文件,如果更改了该目录下的某个文件可能会导致系统不能启动。
/bin,/sbin,/usr/bin,/usr/sbin:这是系统预设的执行文件的放置目录,比如ls就是在/bin/ls目录下的。值得注意的是/bin,/usr/bin是给系统用户使用的命令(除root外的通用用户),而/sbin,/usr/sbin则是给root使用的指令。
/var:这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就会被记录到这个目录下,具体在/var/log目录下,另外mail的预设放置也在这里。

在Linux或Unix操作系统中,所有的文件和目录都被组织成一个以根结点开始的倒置的树状结构。
文件系统的最顶层是以根目录开始的,系统使用/来表示根目录。在根目录之下的既可以是目录也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。在Linux中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点.来表示,另一个是当前目录的上一级目录,也叫父目录,可以使用两个点…来表示。

  • . :代表当前的目录,也可以使用./来表示
  • … :代表上一级目录,也可以使用…/来表示。
    如果 目录或文件是以一个点.开始,代表这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方式查找时,不显示该目录或文件。

2.常用命令

  • ls:显示目录下的文件
    (1) -a:显示隐藏文件
    (2)-l:显示详细内容
    (3)-S:显示文件大小排序
  • cat:
    (1) 可以一次查看多个文件的内容,下面的内容会先打印file1的内容然后打印file2的内容 cat file1 file2
    (2) -n 命令可以在每行的前面加上行号:cat -n /etc/logrotate.conf
  • find
    (1) 查找指定文件名的文件(不区分大小写):find -iname “MyProgram.c”
    (2) 对找到的文件执行某个命令:find -iname “MyProgram.c” -exec md5sum {} ;
    (3)找到home目录下所有的空文件:find ~ -empty
  • ln: ln [options] source dist
    (1)-s:进行软连接
  • mv:
    (1) 将file1 重命名为file2,如果file2存在则提示是否覆盖:mv -i file1 file2
    (2) -v 会输出命名的过程,当文件名中包含通配符时,这个选项会非常方便 mv -v file1 file2
  • rm
    (1)删除文件前先确认:rm -i filename.txt
    (2) 递归删除文件夹下所有文件,并删除该文件夹: rm -r example
  • cp
    (1) 拷贝file1 到file2 ,并保持文件的权限、属主和时间戳:cp -p file1 file2
    (2) 拷贝file1 到file2,如果file2存在会提示是否覆盖:cp -i file1 file2
  • pwd:输出当前工作目录
  • cd:在最近工作的两个目录间进行切换
  • mkdir:
    (1)在home 目录下创建一个名为temp的目录:mkdir ~/temp
    (2) 使用-p选项可创建一个路径上所有目录都不存在的目录 : mkdir -p /dir1/dir2/dir3/
  • tail:
    (1) 默认显示文件的最后的10行文本:tail filename.txt
    (2) 可以使用-n选项指定要显式的行数:tail -n N filename.txt
    (3) 可以使用-f 选项进行实时查看,这个命令执行后会等待,如果有新行添加到文件尾部,它会继续输出新的行,在查看日志时这个选项会非常有用。可以通过ctrl -c 终止命令的执行:tail -f log.file
  • grep:
    (1) 在文件中查找字符串(不区分大小写):grep -i “the” demo_file
    (2) 在一个文件夹中递归查询包含指定字符串的文件:grep -r “ramesh” *
  • su:用于切换用户账号
  • df:显式文件系统的磁盘使用情况,默认情况下使用df -k 将以字节为单位输出磁盘的使用量;使用df -h 可以以更符合阅读习惯的方式显式磁盘使用情况
  • chmod:
    (1) 用于改变文件和目录的权限
    (2) 给指定文件的属主和属组所有权限(包括读、写、执行):chmod ug+rwx filename
    (3) 修改目录的权限,以及递归修改目录下所有文件和子目录的权限:chmod -R ug+rwx file.txt
  • ping:测试某个地址能否连接
  • curl :测试某个url是否可以访问
  • ifconfig:
    (1) 用于查看和配置Linux系统的网络接口
    (2) 查看所有网络接口及其状态:ifconfig -a
  • kill:用于终止一个进程。一般会先使用ps -ef 查找某个进程得到它的进程号,然后使用kill -9 进程号 来终止该进程。-9 表示强制终止指定进程,一般情况下只需使用 kill 进程编号
  • top:监测系统状况,比如cpu,内存的使用,系统上正在运行的进程(load average:系统负载,就是进程队列的长度)
  • shutdown:
    (1) 关闭系统并立即关机 :shutdown -h now
    (2) 重启:shutdown -r now
  • ps:
    (1) 用于显示正在运行中的进程信息
    (2) 查看当前正在运行的所有进程 : ps -ef | more
  • tar:用法 tar [-cxtzjvfpPN] 文件与目录
    (1)-c :建立一个压缩文件 eg:tar -zcvf: 打包并压缩文件
    (2)-x :解开一个压缩文件 eg: tar -xvf 解压压缩包
  • free: 显式系统内存的使用情况,包括物理内存、交换内存和内核缓冲区内存
  • vmstat:虚拟内存性能监控、CPU监控

常见面试题:

1.如何理解一切皆文件?
Linux中所有的内容都是以文件的形式保存和管理,包括一切软硬件。这样做明显的好处是,开发者仅需要一套API和开发工具即可调取Linux系统中绝大部分的资源。同时也带来不利之处,如果使用任何硬件设备都必须与根目录下某一目录执行挂载操作,否则无法使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值