• Linux 基础目录和命令


    Linux 标准目录结构

     

    初学Linux,首先需要弄清Linux 标准目录结构

    /

    • root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。
    • home --- 存储普通用户的个人文件
      • ftp --- 用户所有服务
      • httpd
      • samba
      • user1
      • user2
    • bin --- 系统启动时需要的执行文件(二进制)
    • sbin --- 可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行
    • proc --- 虚拟,存在linux内核镜像;保存所有内核参数以及系统配置信息
      • 1 --- 进程编号
    • usr --- 用户目录,存放用户级的文件
      • bin --- 几乎所有用户所用命令,另外存在与/bin,/usr/local/bin
      • sbin --- 系统管理员命令,与用户相关,例如,大部分服务器程序
      • include ---  存放C/C++头文件的目录
      • lib --- 固定的程序数据
      • local --- 本地安装软件保存位置
      • man --- 手工生成的目录
      • info --- 信息文档
      • doc --- 不同包文档信息
      • tmp
      • X11R6 ---  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
      • X386 --- 功能同X11R6,X11 发行版5 的系统文件
    • boot --- 引导加载器所需文件,系统所需图片保存于此
    • lib --- 根文件系统目录下程序和核心模块的公共库
      • modules --- 可加载模块,系统崩溃后重启所需模块
    • dev --- 设备文件目录
    • etc --- 配置文件
      • skel --- home目录建立,该目录初始化
      • sysconfig --- 网络,时间,键盘等配置目录
    • var
      • file
      • lib --- 该目录下的文件在系统运行时,会改变
      • local --- 安装在/usr/local的程序数据,变化的
      • lock --- 文件使用特定外设或文件,为其上锁,其他文件暂时不能访问
      • log --- 记录日志
      • run --- 系统运行合法信息
      • spool --- 打印机、邮件、代理服务器等假脱机目录
      • tmp
      • catman --- 缓存目录
    • mnt --- 临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。
    • tmp --- 临时文件目录,系统启动后的临时文件存放在/var/tmp
    • lost+found --- 在文件系统修复时恢复的文件

    /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中

    /bin:/usr/bin:可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

    /boot:放置linux系统启动时用到的一些文件。/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可

    /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。

    /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d修改配置文件之前记得备份。

    注:/etc/X11存放与x windows有关的设置。

    /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~test表示用户test的家目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据

    /lib:/usr/lib:/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助,比较重要的目录为/lib/modules。

    /lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下,通常这个目录会自动出现在装置目录下。如加载硬盘于/disk 中,此目录下就会自动产生目录/disk/lost+found

    /mnt:/media:光盘默认挂载点,通常光盘挂载于/mnt/cdrom下,也不一定,可以选择任意位置进行挂载。

    /opt:给主机额外安装软件所摆放的目录。如:FC4使用的Fedora 社群开发软件,如果想要自行安装新的KDE 桌面软件,可以将该软件安装在该目录下。以前的 Linux 系统中,习惯放置在 /usr/local 目录下

    /proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等

    /root:系统管理员root的家目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。

    /sbin:/usr/sbin:/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。

    /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

    /srv:服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内

    /usr:应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。/usr/share/doc:系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容建议单独分区,设置较大的磁盘空间

    /var:放置系统执行过程中经常变化的文件,如随时更改的日志文件/var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。建议单独分区,设置较大的磁盘空间

    常用命令如下:

    命令:一个命令 后的参数可以没顺序 比如 rm-rf rf是2个参数,前后没顺序都可以

    文本查看命令:
    cat:适合查看少量的文件内容
    more: 分页显示文件内容
    Enter 向下n行,需要定义,默认1行
    空格键 向下滚动一屏 或 Ctrl+F
    B 返回上一屏 或 Ctrl+B
    q 退出 more
    less:分页显示文件内容,标志每行的行号(适合大文件)
    -mN 分页显示行号
    tail -数字 查看文件的后几行内容
    tail -10 查看文件的后10行


    文件操作命令
    cp 复制文件或者目录
    复制文件:
    cp 需要复制的文件 复制的位置
    cp 1.txt t1(/t1)相对路径和绝对路径
    复制并改名
    cp 1.txt t1/2.txt
    复制目录:
    cp -r 需要复制的目录 复制到指定的目录
    -r 递归的把要复制的文件以及子文件下的 复制到指定目录

    文件/目录移动;
    mv(move): mv -f t5 t3
    -f 不询问直接覆盖

    文件/目录更名操作:
    mv 1.txt 2.txt 进行移动改名了

    文件删除:
    rm 文件名
    -f 强制删不询问
    目录删除:
    rm -rf 递归处理,将目录以及子目录下,f不询问
    rm -rf * 删除当前目录下的所有内容
    rm -rf /* 删除Linux根目录下的所有

    查找文件或目录:
    find 目录名 -name '需要查询的字符串'
    find /root/home -name 'a*'

    文本编辑命令:vim
    一般模式:浏览文件内容。按 iao键可以切换到插入模式
    插入模式:an esc键可以切换到一般模式
    底行模式:按 :键 输入wq保存,q!不保存

    管道和grep
    定义:可以连接多个Linux命令
    命令1 | 命令2 |命令3

    grep:全局的正则表达式.字符串搜索操作
    -i 大小写忽略查找

    查询当前目录中带t开头的文件
    ls|grep t

    压缩、解压命令:
    linux压缩包:
    *.tar 打包,大小不会压缩大小
    *.tar.gz 打包,并压缩文件大小
    压缩命令:参数顺序不变
    tar -zcvf 压缩包名字.tar.gz 需要压缩的内容
    例如: tar -zcvf hehe.tar.gz * 将当前目录下的所有内容进行打包压缩。
    压缩命令:
    tar -zxvf 需要解压的压缩包名称,解压到当前目录
    tar -axvf 需要解压的压缩包名称 -C 指定压缩路径 解压到指定路径

    系统命令:
    ps:查看进程
    -e:显示所有的程序
    -f:查询PID UID PPID等显示
    ps -ef |grep tomcat 查询tomcat进程

    UID PID PPID C STIME TTY TIME CMD
    root 1 0 0 Aug27 ? 00:00:02 /sbin/init
    root 2 0 0 Aug27 ? 00:00:00 [kthreadd]

    UID:进程是被哪个用户打开的,root用户可以操作所有
    PID:进程ID,kill这个ID
    CMD:进程对应的程序或者位置

    kill -9 pid号 杀死某个进程

    查看网络配置:
    ifconfig

    ping 命令:
    测试和目标的连通性:ping ip地址
    按 Ctrl+C停止

    重启命令:reboot
    关机命令:halt

    权限格式:
    -rwxr--r--. 1 root root 3 Aug 28 03:17 1.txt
    drwxrwxr-x. 4 yy yy 4096 Aug 28 04:00 demo
    第1位: d为目录, - 普通文件, |连接文件
    第2-4位:所属用户权限,用u表示
    第5-7位:所属用户的群组,用p表示
    第8-10位:其它用户权限,用o表示

    r:读权限
    w:写权限
    x:执行权限
    -:没有权限

    文件权限更改:更改用户权限为rwx
    chmod u=rwx demo.txt
    所有用户权限更改: chmod a=r demo.txt

    文件夹权限:
    chmod -R 权限设置 需要更改的目录
    -R 递归的目录下所有都更改
    chmod -R u=r t1 更改t1目录的用户权限为r





  • 相关阅读:
    后端程序员之路 6、Python fabric
    后端程序员之路 5、.conf、libconfig
    后端程序员之路 4、一种monitor的做法
    后端程序员之路 3、fastcgi、fastcgi++
    后端程序员之路 2、nginx、php
    后端程序员之路 1、linux、centos
    F#之旅9
    F#之旅8
    F#之旅7
    F#之旅6
  • 原文地址:https://www.cnblogs.com/GotoJava/p/7445546.html
Copyright © 2020-2023  润新知