一、命令基本格式
1.1
[root@localhost ~]#
root (登录用户)
localhost (主机名)
~ (当前所在目录:
~表示当前是home目录---/root
普通用户就是/home/user1/)
# 超级用户提示符
普通用户的提示符是$
1.2
命令 [选项] [参数]
例如:
ls -l /src/
文件读写权限
-rw-r--r--.1 root root 1207 1月 14 18:18
第一位判断文件类型:
-文件类型(-文件 d目录 l软连接文件)
后面每三位数为一组(一一匹配):
rw- r-- r--
u所有者 g所属组 o其他人
r:读 w:写 x:执行
. ----代表了特殊的权限,暂时不提及
1 ----是代表的硬连接调用的次数
1207 ----代表文件的大小
1月 14 18:18---最后一次修改时间
.开头的文件就是隐藏文件
二、 目录处理命令
Tab键可以补全命令
创建目录(make directory):
mkdir -p [递归目录名字]
mkdir 目录名字
切换目录(change directory):
cd 目录路径
cd ~:直接回到home目录
cd:
cd -:进入上次目录
cd ..:(两点)进入上一级目录
删除目录(remove empty directory)
rmdir 目录名(只能删除空目录)
rm [-r删除目录 -f强制]
rm -rf /千万不要执行,否则会把所有/下面的东西删除
拷贝目录(copy)
cp
-r: 复制目录
-p:连带文件属性复制
-d:若源文件是链接文件,则赋值链接属性
-a:连同时间都一样复制过来,相当于-pdr
剪切(move)
mv 属性和copy完全一致
mv 可以用于修改名字
相对路径:
相对当前目录
绝对路径:
从根目录开始
pwd(print working directory)显示当前所在的位置
三、 常见目录的作用
/根目录
/bin /sbin 命令保存目录(普通用户只能读取/bin的命令)
/boot 启动目录,启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/media /mnt /misc 用于挂载外置存储设备
/root 超级用户
/proc /sys 里面的数据是直接保存在内存中的,关机就没了
/tmp 临时目录
/usr 系统资源目录
/var 保存系统文档信息的目录
/home 推荐用户使用使用
四、 链接命令
ln -s[原文件] [目标文件]
软连接的原文件路径必须使用绝对路径
link -soft
ln [原文件] [目标文件]
硬连接:
用户搜索文件是先去分区索引表去查找,找出id号,然后找出存储位置。
硬连接的节点id号是一样的,相当于教室的前后门。删除了前门,还能通过
后面进入。
不能跨分区,不能针对目录使用。
软连接:
lrwxrwxrwx
和Windows的快捷方式工作一模一样,软连接有自己的i节点和block块,
block有自己所链接文件的i节点的相关信息,然后通过分区索引表去找到目标文件。
流程就是:自身i节点-->自身block块-->目标i节点-->目标文件的block开
始块。
但是原文件删除了,软连接就无法找到目标文件i节点了,所以不能工作了。
五、文件搜索命令
文件搜索命令 1:locatea
特点:
由于是在后台数据库中进行搜索,所以搜索速度快。但是数据库不是实时更新的,
正常情况下是每天更新一次,可以通过命令updatedb手动更新。
搜索功能较弱,只能按照文件名搜索。
搜索配置文件路径:/etc/updatedb.conf
配置项的说明:
//搜索设置是否生效
PRUNE_BIND_MOUNTS = "yes"
//忽略的文件系统
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
//忽略的文件类型
PRUNENAMES = ".git .hg .svn"
//忽略的路径
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
文件搜索命令 2:whereis
特点:用于搜索命令所在的路径以及帮助文档所在的位置,不能搜索用户自己创建的文件等信息。
选项:
-b:只查找可执行文件
-m:只查找帮助文件
文件搜索命令 3:which
特点:能看到命令的路径,如果有别名,还能看到别名的说明。
whereis和which不能看到shell命令,只能看到外部安装的命令。
$PATH说明:类似于Windows中的环境变量,执行命令的时候都要在path定义的目录中去寻找。
所以像ls这样的命令就可以不用加路径(/bin/ls)执行了。
文件搜索命令 4:find
特点:
功能多,参数多,范围大。
选项:
find[搜索范围][搜索内容]
find /root -name "*fuxiangp?ing[abcd]"
可以使用通配符进行模糊查询
*:匹配任意内容
?:匹配任意一个字符
[]:匹配任意一个中扩号中的字符
不区分大小写:find /root -iname XXXX
按照所有者进行搜索:find root -user root
搜索无所有者的文件:find root -nouser
---linux中几乎所有的文件都有所有者,有两种情况可能没有:
内核运行时产生的文件有的没有所有者,外来设备中的文件
也有可能没有所有者。
查找10天倩修改的文件:-mtime +10
-10:10天内修改的文件
10:10天当天修改的文件
+10:10天前修改的文件
atime:文件访问时间
ctime:改变文件属性
mtime:修改文件内容
查找当前目录大小是25k的文件:find . -size 25k
25k:等于25k
+25M:大于25M(M要大写)
-25k:小于25k
默认的单位是数据块,但是和分区数据块又不同,是硬盘划分的扇区(默认512字节)。
根据i节点进行查找:find /root -inum 236325
多条件查询和结果集操作:
在etc下查找大于20k小于50K的文件:find /etc -size +20k -a -size -50k
-a:满足两个条件
-o:满足一个条件就好
查找符合条件的文件后执行ll -h操作:find /etc -size +20k -a -size -50k -exec ll -h {} \;
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,
考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{}花括号代表前面find查找出来的文件名。
linux常用命令(目录处理,链接,文件搜索)
于 2015-03-10 14:47:33 首次发布