(3)linux常用文件命令
小技巧:1.两次TAB键可以有命令提示,和目录补全 2.ctrl + l 开启新的屏幕
1、命令的基本格式
[root@localhost~]#:
命令提示符:root 当前登录用户名、 localhost 主机名、 ~ 当前所在的目录 、 #:表示超级用户提示符 $:表示普通用户
注意:对于root这个管理员账户来说 ~(家目录) 是根分区下的root目录【/root】 ;普通用户来说是【/home/user/】
可以通过pwd命令查看当前所在的目录;
2、文件目录处理命令
ls [选项] [文件名或者目录]
ls -a :显示所有文件,包括隐藏文件 ;
ls - l :显示详细信息; ls -h :人性化显示
ls - d 查看文件属性 ; ls -i:显示incode;
文件详细信息第一个字母的位置:
d:表示目录 - :表示文件 l:表示软链接文件或快捷方式
这两个数字表示引用计数,表示多少个文件名链接到这个inode号码 表示分别表示所有者,所属组,其他人的读(r 4)写(w 2)可执行权限(x 1) .表示ACL权限最后是文件名
二、文件处理命令
1、目录处理命令
①:建立目录:mkdir [目录名]
建立多个同级目录: mkdir {a,b,c,…}
递归创建:mkdir -p 【目录名】/【目录名】
②切换所在的目录
cd ~:进入当前目录的家目录
cd - :进入上次目录
cd .. :进入上一级目录
cd . :进入当前目录
③删除目录 :rmdir [目录] 目录中没有子目录和子文件时才可以
删除文件或者目录:rm -rf [文件或目录]
-r :删除目录 -f :强制
④复制,剪切,(都可改名命令)
复制:cp [选项] 【原文件或目录】 【目标目录】
选项:
r : 复制目录 p: 连带文件属性复制 d:若原来的文件是链接文件,则赋值链接属性 a:all所有选项
剪切:mv
mv [源文件或目录] 【目标目录】
[root@localhost ~]# vi test.txt 新建一个文本
[root@localhost ~]# mv test.txt test/text001.txt 复制到test目录下
删除原来的文件报错:说明已经剪切[root@localhost ~]# rm test.txt
rm: 无法删除"test.txt": 没有那个文件或目录
⑥取得文件的路径名称和目录名称
basename :取得文件名
dirname:取得目录名
三、常用的一级目录
root用户/(根)目录下一级目录bin :存放命令
sbin :存放超级用户的命令
etc:系统配置文件保存目录
dev:特殊文件保存目录
home:普通用户家目录
boot:启动目录
tmp:临时目录
var :系统相关文档内容
四、链接命令
生成链接文件:ln -sf [ 原文件] 【目标文件】
-s:表示symbolic link 符号链接,也即快捷方式 ;如果不加任何参数就表示hard link ;
-f :表示如果目标文件存在时就删除后再创建
硬链接:不能夸文件系统;不能连接到目录,它直接指向文件的inode,对它的数据修改就等于对原文件的操作,删除原文件和目标文件中一个删除,则inode和block都在,可以通过没有删除的文件名继续访问
符号链接:就是创建了一个独立的文件,而这个文件会让数据的读取指向它连接的文件的文件名,将原文件删除之后,符号链接打不开了。
五、文件搜索命令【locate, whereis, which , find , grep 】
一、文件搜索命令:locate 命令格式
locate 文件名 :后台数据库中按文件名搜索,搜索速度更快;(后台数据库的位置/var/lib/mlocate,一般一天更新一次)
可以通过etc/updatedb.conf文件来修改;
后台数据库配置文件第一个参数表示:开启搜索限制;表示所有设置(即下面四句话)都生效
第二个参数表示搜索时不搜索的文件系统
第三个参数表示:搜索时,不搜索的文件类型
第四个参数表示,搜索时,不搜索的路径
二、命令搜索命令whereis和which
whereis 【-b】 【-m】 命令名:搜索命令所在的路径及帮助文档所在的文档 (只查看系统命令,看不到cd,因为cd是linux系统的内置命令,不需要独立的执行文件)
类似命令-b只查找可执行文件 -m 只查找帮助文件
which 命令,能看到命令所在位置和别名
三、find命令
find [搜索范围] 【搜索条件】
#find / -name install.log ::避免大范围搜索,会耗费资源,find是在系统当中大范围搜索复合条件的文件名,可以使用通配符完全匹配;
注意:
* 匹配任意内容
? 匹配任意一个字符
【】 匹配任意一个中括号内的字符
# find / -iname install.log:忽略大小写
# find / -user root:按照所有者搜索
# find / -nouser :查找没有所有者的文件,如内核文件,外来文件
参见find命令详细;
# find /var/log/ -mtime +10 :
+10 :10天前修改的文件,-10天内修改的文件:第10天前当天修改的文件,是十天前和十天的时间分界线 ; atime 文件访问时间,ctime改变文件属性 ,mtime修改文件内容
# find / -size 300:根据扇区块的大小查找文件;300:等于300,+300表示大于300的文件,-300表示小于300;
# find / -size +200 -a -size -300:查找根目录下大于200小于300大小的文件;
-a表示and 逻辑与 ; -b表示逻辑或
# find . -inum 26422:根据inode来查找文件
# find / -name readme.txt -exec nl {} \; :斜体划线部分是所要执行的命令,处理find找到的结果
grep [选项] 字符串 文件名
在文件中匹配符合条件的字符串;-i 表示忽略大小写,-v排除指定字符串
六、帮助命令man
man 命令 :获取指定的帮助
man -f 命令:查看,命令的级别
man级别man -k 命令 :查看和命令相关的所有帮助
命令 -- help:获取命令选项帮助
shell内部命令帮助 :cd为内部命令
info 命令:详细命令帮助
q:退出 回车键:进入子帮助页(带有*号标记) u:进入上层页面 n:进入下一个帮助小节