开开心心了解----linux 目录与文件

it2025-04-22  19

目录结构

FHS(Filesystem Hierarchy Standard 目录层次标准)定义两层规范: 1、“/”目录下应放什么数据文件 如 /etc放系统配置文件 而/bin和/sbin放程序和系统命令 2、根据/usr和/var两个的字目录定义 /var/log放系统日志文件 根目录 根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与开机/还原/系统修复等动作有关。说白了,就是根目录和Windows的C盘一个样。 /bin ----------- 存放所有用户可执行且常用的命令 如cp 、ls /boot------------主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。 /dev 在Linux系统上,保存接口设备文件。比要重要的档案有/dev/null, /dev/cdrom /etc ----------- 保存有关系统与管理的文件 /home----------这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号: ~ :代表当前使用者的家目录,而 ~guest:则代表用户名为guest的家目录。 /lib系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。 /mnt----------如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。 /opt----------这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。 /root-------系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。 /sbin--------Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。 /tmp-------这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。 /var---------r就是在系统运作后才会渐渐占用硬盘容量的目录。 因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如MySQL数据库的文件等等

安装一个tree可查看目录下的层次 如tree -L 1 / 查看根目录下的层次1表示1层

查看和检索文件

查看文件内容

cat命令---------显示并连接文件内容 可查看多个文件

cat [选项] [文件] cat /etc/my.cnf

more和less-------分页查看文件内容

如more /etc/httpd/conf/http.conf ##分页查看按b向上翻页enter向下翻页q退出 less [选项] 文件名 比more晚出但是比more多扩展功能 按/目录查找 按n下N上 如less /etc/httpd/conf/http.conf

head和tail-------开头或末尾的部分内容

如head -4 /etc/passwd tail -f /var/log/messages //看公共日志文件并追踪记录 就是动态查看

统计和检索文件

wc命令------统计单词数行数

#wc -m filename:显示一个文件的字符数 #wc -l filename:显示一个文件的行数 #wc -L filename:显示一个文件中的最长行的长度 #wc -w filename:显示一个文件的字数 #wc -c filename:显示一个文件的字节数 如 wc /etc/passwd wc -l /etc/passwd find /etc -name ‘’*.conf |wc -l //统计etc目录下共有多少个扩展名为.cnf的文件

grep命令-----检索过滤文件内容

-i : 搜索时候忽略大小写 -v: 反转匹配,选择没有被匹配到的内容。 1、查找指定进程 命令:ps -ef|grep java 2、查找指定进程个数 命令:ps -ef|grep -c java 或ps -ef|grep java -c 3、从文件中读取关键词进行搜索,默认是显示的是行 命令1:cat test.txt | grep -f test2.txt 命令2(显示行号):cat test.txt | grep -nf test2.txt 4、grep “ftp” /etc/passwd ##过滤出ftp的行内容 5、grep -v “^#” /etc/yum.cnf |grep -v “^$” ##过滤掉空行

备份与恢复文件

压缩和解压缩工具 常见压缩命令工具gzip和bzip2常见归档命令tar 使用tar可以特定选项自动调用gzip或bzip2已完成归档压缩整个流程 当然tar也可以完成释放解压已归档文件的整理流程

gzip与gunzip

gzip和gunzip压缩可结合-9压的更狠 如gzip mkdir 解压gzip -d mkdir.gz

bzip2与bunbzip2

和上面差不多 就是结尾是.bz2的不同

tar归档和释放工具

制作归档和备份文件—tar

-c:建立一个压缩文件的参数指令(create 的意思); -x:解开一个压缩文件的参数指令! -t:查看 tarfile 里面的文件! -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个. 特别注意,在参数的下达中, c/x/t/r/u 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩 -z:有gzip属性,即需要用 gzip 压缩 -j:有bz2属性,即需要用 bzip2 压缩 -Z:有compress属性的 -v :压缩的过程中显示文件(显示所有过程)!这个常用,但不建议用在背景执行过程! -O:将文件解开到标准输出 -f :使用档名,请留意,在 f 之后要立即接档名!不要再加参数!例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔! -p :使用原文件的原来属性(属性不会依据使用者而变) -P :可以使用绝对路径来压缩! -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! --exclude FILE:在压缩的过程中,不要将 FILE 打包! -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

格式 tar [选项] 源文件或目录 需要归档的文件名 如 tar zcvf sysfile.tar.gz /etc/boot ##将/etc和/boot 进行备份压缩成前面的那个文件 tar jcvf /tmp/usershome.tar.bz2 /home /etc/passwd /wtc/shadow ###对后面的三个文件进行打包压缩

从归档备份文件中恢复—tar

格式 tar [选项] 归档及压缩文件名 [-C 目标目录] 如 tar jxf /tmp/usershome.tar.bz2 -C /

vi编辑器 Vi也是Linux中最基本的文本编辑器

vi编辑器的工作模式

按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;   按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。 移动光标   vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。   按「ctrl」+「b」:屏幕往"后"移动一页。   按「ctrl」+「f」:屏幕往"前"移动一页。   按「ctrl」+「u」:屏幕往"后"移动半页。   按「ctrl」+「d」:屏幕往"前"移动半页。   按数字「0」:移到文章的开头。   按「G」:移动到文章的最后。   按「$」:移动到光标所在行的"行尾"。   按「^」:移动到光标所在行的"行首"   按「w」:光标跳到下个字的开头   按「e」:光标跳到下个字的字尾   按「b」:光标回到上个字的开头   按「#l」:光标移到该行的第#个位置,如:5l,56l。 删除文字   「x」:每按一次,删除光标所在位置的"后面"一个字符。   「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。   「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。   「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。   「dd」:删除光标所在行。   「#dd」:从光标所在行开始删除#行 . 复制   「yw」:将光标所在之处到字尾的字符复制到缓冲区中。   「#yw」:复制#个字到缓冲区   「yy」:复制光标所在行到缓冲区。   「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。   「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。 替换   「r」:替换光标所在处的字符。   「R」:替换光标所到之处的字符,直到按下「ESC」键为止。 跳至指定的行   「ctrl」+「g」列出光标所在行的行号。   「#G」:例如,「15G」,表示移动光标至文章的第15行行首。 列出行号  「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。 查找字符  「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。  「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

命令模式中的基本操作

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

末行模式中的基本操作

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等 w filename (输入 「w filename」将文章以指定的文件名filename保存) wq (输入「wq」,存盘并退出vi) q! (输入q!, 不存盘强制退出vi)

关于编辑器详解可取看他的博客 https://blog.csdn.net/cyl101816/article/details/82026678?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160329300419724836762791%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160329300419724836762791&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-2-82026678.first_rank_ecpm_v3_pc_rank_v2&utm_term=vi&spm=1018.2118.3001.4187

最新回复(0)