Linux⽂件系统以及⽂件操作常⽤命令
Linux⽂件系统
在Linux操作系统中,所有被操作系统管理的资源,例如⽹络接⼝卡、磁盘驱动器、打印机、输⼊输出设备、普通⽂件或是⽬录都被看作是⼀个⽂件。
也就是说在LINUX系统中有⼀个重要的概念:⼀切都是⽂件。其实这是UNIX哲学的⼀个体现,⽽Linux是重写UNIX⽽来,所以这个概念也就传承了下来。在UNIX系统中,把⼀切资源都看作是⽂件,包括硬件设备。UNIX系统把每个硬件都看成是⼀个⽂件,通常称为设备⽂件,这样⽤户就可以⽤读写⽂件的⽅式实现对硬件的访问。
Linux的⽬录结构如下:
Linux⽂件系统的结构层次鲜明,就像⼀棵倒⽴的树,最顶层是其根⽬录:
常见⽬录说明:
/bin: 存放⼆进制可执⾏⽂件(ls、cat、mkdir等),常⽤命令⼀般都在这⾥;
/etc: 存放系统管理和配置⽂件;
/home: 存放所有⽤户⽂件的根⽬录,是⽤户主⽬录的基点,⽐如⽤户user的主⽬录就是/home/user,可以⽤~user表⽰;
/usr : ⽤于存放系统应⽤程序;
/opt: 额外安装的可选应⽤程序包所放置的位置。⼀般情况下,我们可以把tomcat等都安装到这⾥;
/proc: 虚拟⽂件系统⽬录,是系统内存的映射。可直接访问这个⽬录来获取系统信息;
/root: 超级⽤户(系统管理员)的主⽬录(特权阶级^o^);
/sbin: 存放⼆进制可执⾏⽂件,只有root才能访问。这⾥存放的是系统管理员使⽤的系统级别的管理命令和程序。如ifconfig等;
/dev: ⽤于存放设备⽂件;
/mnt: 系统管理员安装临时⽂件系统的安装点,系统提供这个⽬录是让⽤户临时挂载其他的⽂件系统;
/boot: 存放⽤于系统引导时使⽤的各种⽂件;
/lib : 存放着和系统运⾏相关的库⽂件 ;
/tmp: ⽤于存放各种临时⽂件,是公⽤的临时⽂件存储点;
/var: ⽤于存放运⾏时需要改变数据的⽂件,也是某些⼤⽂件的溢出区,⽐⽅说各种服务的⽇志⽂件
(系统启动⽇志等。)等;
/lost+found: 这个⽬录平时是空的,系统⾮正常关机⽽留下“⽆家可归”的⽂件(windows下叫什么.chk)就在这⾥。
⽬录切换:
cd usr: 切换到该⽬录下usr⽬录
cd ..(或cd../): 切换到上⼀层⽬录
cd /: 切换到系统根⽬录
cd ~: 切换到⽤户主⽬录
cd -: 切换到上⼀个操作所在⽬录
1. mkdir ⽬录名称: 增加⽬录
2. ls或者ll(ll是ls -l的别名,ll命令可以看到该⽬录下的所有⽬录和⽂件的详细信息):查看⽬录信息
3. find ⽬录参数: 寻⽬录(查)
⽰例:
1. 列出当前⽬录及⼦⽬录下所有⽂件和⽂件夹: find .
2. 在/home⽬录下查以.txt结尾的⽂件名:find /home -name "*.txt"
3. 同上,但忽略⼤⼩写: find /home -iname "*.txt"
4. 当前⽬录及⼦⽬录下查所有以.txt和.pdf结尾的⽂件:find . \( -name "*.txt" -o -name "*.pdf" \)或find . -name "*.txt" -o -name
"*.pdf"
4. mv ⽬录名称新⽬录名称: 修改⽬录的名称(改)薛之谦 李雨桐
注意:mv的语法不仅可以对⽬录进⾏重命名⽽且也可以对各种⽂件,压缩包等进⾏ 重命名的操作。mv命令⽤来对⽂件或⽬录重新命名,或者将⽂件从⼀个⽬录移到另⼀个⽬录中。后⾯会介绍到mv命令的另⼀个⽤法。
5. mv ⽬录名称⽬录的新位置: 移动⽬录的位置---剪切(改)
注意:mv语法不仅可以对⽬录进⾏剪切操作,对⽂件和压缩包等都可执⾏剪切操作。另外mv与cp的结果不同,mv好像⽂件“搬家”,⽂件个数并未增加。⽽cp对⽂件进⾏复制,⽂件个数增加了。
6. cp -r ⽬录名称⽬录拷贝的⽬标位置: 拷贝⽬录(改),-r代表递归拷贝
注意:cp命令不仅可以拷贝⽬录还可以拷贝⽂件,压缩包等,拷贝⽂件和压缩包时不 ⽤写-r递归
7. rm [-rf] ⽬录: 删除⽬录(删)
注意:rm不仅可以删除⽬录,也可以删除其他⽂件或压缩包,为了增强⼤家的记忆, ⽆论删除任何⽬录或⽂件,都直接使⽤rm -rf ⽬录/⽂件/压缩包
1. touch ⽂件名称: ⽂件的创建(增)
2. cat/more/less/tail ⽂件名称 ⽂件的查看(查)
1. cat: 查看显⽰⽂件内容
2. more: 可以显⽰百分⽐,回车可以向下⼀⾏, 空格可以向下⼀页,q可以退出查看
3. less: 可以使⽤键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
4. tail-10 : 查看⽂件的后10⾏,Ctrl+C结束
注意:命令 tail -f ⽂件 可以对某个⽂件进⾏动态监控,例如tomcat的⽇志⽂件, 会随着程序的运⾏,⽇志会变化,可以使⽤tail -f catalina-2016-11-11.log 监控 ⽂ 件的变化
3. vim ⽂件: 修改⽂件的内容(改)
vim编辑器是Linux中的强⼤组件,是vi编辑器的加强版,vim编辑器的命令和快捷⽅式有很多,但此处不⼀⼀阐述,⼤家也⽆需研究的很透彻,使⽤vim编辑修改⽂件的⽅式基本会使⽤就可以了。
在实际开发中,使⽤vim编辑器主要作⽤就是修改配置⽂件,下⾯是⼀般步骤:
vim ⽂件------>进⼊⽂件----->命令模式------>按i进⼊编辑模式----->编辑⽂件 ------->按Esc进⼊底⾏模式----->输⼊:wq/q! (输⼊wq 代表写⼊内容并退出,即保存;输⼊q!代表强制退出不保存。)
4. rm -rf ⽂件: 删除⽂件(删)
同⽬录删除:熟记 rm -rf ⽂件 即可
1)打包并压缩⽂件:
Linux中的打包⽂件⼀般是以.tar结尾的,压缩的命令⼀般是以.gz结尾的。
⽽⼀般情况下打包和压缩是⼀起进⾏的,打包并压缩后的⽂件的后缀名⼀般.。 命令:tar -zcvf 打包压缩后的⽂件名要打包压缩的⽂件 其中:
z:调⽤gzip压缩命令进⾏压缩
c:打包⽂件
v:显⽰运⾏过程
f:指定⽂件名
公务员述职报告范文
⽐如:假如test⽬录下有三个⽂件分别是: ,如果我们要打包test⽬录并指定压缩后的压缩包名称为可以使⽤命令:tar -zcvf 或:tar -zcvf /test/反特电视剧有哪些
2)解压压缩包:
命令:tar [-xvf] 压缩⽂件
其中:x:代表解压
⽰例:
1 将/test下的解压到当前⽬录下可以使⽤命令:tar -xvf
2 将/test下的解压到根⽬录/usr下:tar -xvf -C /usr(- C代表指定解压的位置)
操作系统中每个⽂件都拥有特定的权限、所属⽤户和所属组。权限是操作系统⽤来限制资源访问的机制,在Linux中权限⼀般分为读(readable)、写(writable)和执⾏(excutable),分为三组。分别对应⽂件的属主(owner),属组(group)和其他⽤户(other),通过这样的机制来限制哪些⽤户、哪些组可以对特定的⽂件进⾏什么样的操作。通过 ls -l 命令我们可以 查看某个⽬录下的⽂件或⽬录的权限
⽰例:在随意某个⽬录下ls -l
第⼀列的内容的信息解释如下:
下⾯将详细讲解⽂件的类型、Linux中权限以及⽂件有所有者、所在组、其它组具体是什么?
⽂件的类型:
d: 代表⽬录
-: 代表⽂件
l: 代表软链接(可以认为是window中的快捷⽅式)
Linux中权限分为以下⼏种:
r:代表权限是可读,r也可以⽤数字4表⽰
w:代表权限是可写,w也可以⽤数字2表⽰
x:代表权限是可执⾏,x也可以⽤数字1表⽰
⽂件和⽬录权限的区别:
对⽂件和⽬录⽽⾔,读写执⾏表⽰不同的意义。
对于⽂件:
权限名称可执⾏操作
r可以使⽤cat查看⽂件的内容
w可以修改⽂件的内容
x可以将其运⾏为⼆进制⽂件
周公解梦梦见洗头对于⽬录:
权限名称可执⾏操作
r可以查看⽬录下列表
w可以创建和删除⽬录下⽂件
x可以使⽤cd进⼊⽬录
需要注意的是超级⽤户可以⽆视普通⽤户的权限,即使⽂件⽬录权限是000,依旧可以访问。 在linux中的每个⽤户必须属于⼀个组,不能独⽴于组外。在linux中每个⽂件有所有者、所在组、其它组的概念。
所有者
⼀般为⽂件的创建者,谁创建了该⽂件,就天然的成为该⽂件的所有者,⽤ls ‐ahl命令可以看到⽂件的所有者 也可以使⽤chown ⽤户名 ⽂件名来修改⽂件的所有者 。
⽂件所在组
当某个⽤户创建了⼀个⽂件后,这个⽂件的所在组就是该⽤户所在的组 ⽤ls ‐ahl命令可以看到⽂件的所有组 也可以使⽤chgrp 组名⽂件名来修改⽂件所在的组。
其它组
除开⽂件的所有者和所在组的⽤户外,系统的其它⽤户都是⽂件的其它组
我们再来看看如何修改⽂件/⽬录的权限。
修改⽂件/⽬录的权限的命令:chmod
⽰例:修改/test下的的权限为属主有全部权限,属主所在的组有读写权限, 其他⽤户只有读的权限
chmod u=rwx,g=rw,o=
上述⽰例还可以使⽤数字表⽰:
天然气灶打不着火的原因有哪些chmod
补充⼀个⽐较常⽤的东西:
假如我们装了⼀个zookeeper,我们每次开机到要求其⾃动启动该怎么办?
1. 新建⼀个脚本zookeeper
2. 为新建的脚本zookeeper添加可执⾏权限,命令是:chmod +x zookeeper
3. 把zookeeper这个脚本添加到开机启动项⾥⾯,命令是:chkconfig --add zookeeper
4. 如果想看看是否添加成功,命令是:chkconfig --list
Linux系统是⼀个多⽤户多任务的分时操作系统,任何⼀个要使⽤系统资源的⽤户,都必须⾸先向系统管理员申请⼀个账号,然后以这个账号的⾝份进⼊系统。
⽤户的账号⼀⽅⾯可以帮助系统管理员对使⽤系统的⽤户进⾏跟踪,并控制他们对系统资源的访问;另⼀⽅⾯也可以帮助⽤户组织⽂件,并为⽤户提供安全性保护。
Linux⽤户管理相关命令:
useradd 选项⽤户名:添加⽤户账号
情人节是几月几userdel 选项⽤户名:删除⽤户帐号
usermod 选项⽤户名:修改帐号
passwd ⽤户名:更改或创建⽤户的密码
passwd -S ⽤户名 :显⽰⽤户账号密码信息
passwd -d ⽤户名: 清除⽤户密码
useradd命令⽤于Linux中创建的新的系统⽤户。useradd可⽤来建⽴⽤户帐号。帐号建好之后,再⽤passwd设定帐号的密码.⽽可⽤userdel删除帐号。使⽤useradd指令所建⽴的帐号,实际上是保存在/etc/passwd⽂本⽂件中。
passwd命令⽤于设置⽤户的认证信息,包括⽤户密码、密码过期时间等。系统管理者则能⽤它管理系统⽤户的密码。只有管理者可以指定⽤户名称,⼀般⽤户只能变更⾃⼰的密码。