-
创建软链接时必须写绝对路径,否则会报错(软链接会在当前目录下去找原文件)硬链接不会出现这样的问题
查看全部 -
常见目录作用
查看全部 -
ls -l = ll
注意 :mv操作目录时不需要加-r
cp与rm 操作目录时需要加-r
如果原文件与目标文件不在同一个目录下是剪切;在一个目录下是改名
查看全部 -
清屏ctrl+l
tab补全
查看全部 -
文件类型有7种:-普通文件、d目录、l软链接文件(快捷方式)、块设备文件、字符设备文件、套接字文件和管道文件
查看全部 -
4.字符串搜索命令:grep
grep 选项 字符串 文件名
选项: -i 忽略大小写 ; -v 排除指定字符串
[root@localhost ~]# grep "Size" anaconda-ks.cfg [root@localhost ~]# grep -i "Size" anaconda-ks.cfg #part /boot --fstype=ext4 --size=200 #part /home --fstype=ext4 --size=2000 #part swap --size=1000 #part / --fstype=ext4 --grow --size=200 [root@localhost ~]# grep -v "size" anaconda-ks.cfg
5.find命令与grep命令区别:
find:匹配符合条件的文件名,完全匹配,若要模糊查询 使用通配符进行匹配
grep:匹配符合条件的字符串,模糊查询,若要匹配 需要使用正则表达式匹配(后面学)
查看全部 -
3.find命令笔记,接上一节笔记
find 范围 iname 文件名 :不区分大小写搜索
find 范围 -user root : 按照所有者搜索,不常用,几乎不用
find 范围 -nouser :查找没有所有者的文件,
(有些文件,比如tmp和sys中是正常的,这句还需验证一下看看)
按照时间搜索,这里是按天搜索,也可以按分钟搜索:
find /var/log/ -mtime +10
查找10天前修改的文件
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
(注意时间轴,+10,10,-10)
atime:文件访问时间
ctime:改变文件属性
mtime:修改文件内容
按照文件大小搜索
find . -size 25k
查找文件大小是25kb的文件,.代表当前目录,也可以写具体目录
-25 k :小于25kb的文件
25 k :等于25kb的文件
+25 k :大于25kb的文件
如果要找大于多少M的文件,M需要大写;但是找字节的需要小写kb;若不写单位,搜索的是数据块。
查找i节点是134962的文件
find . -inum 134962
查找大于20k小于50k的文件:
find /etc -size +20k -a -size -50k
此时想要查看大小:
find /etc -size +20k -a -size -50k -exec ls -lh{} \;
( 只要加-exec ,结尾就要加{}\; 意思是对搜索结果执行操作,注意分号别忘了,后面只能放处理第一个文件结果的命令,
写的时候注意{}中间无空格,{}和]\之间有空格,;必不可少,否则会报错
[aimdb@10.10.149.19 172.17.0.1 :/home/aimdb/tools/zhaozy/plcs/data01/raw_bak/decode/de_mms_nfv_nmm/2021/05/18]%find . -size 45k -exec ls -lh {} \; -rw-r--r-- 1 aimdb aimdb 45K 5月 18 06:34 ./NMM_AO_20210518210.025 -rw-r--r-- 1 aimdb aimdb 45K 5月 18 23:04 ./NMM_AO_20210518210.091 {}代表的是「由 find 找到的内容」,找到的结果会被放置到 { } 位置中;-exec一直到 ; 是关键字, 代表找到额外动作的开始(-exec)到结束(\),在这中间的就是找到指令内的额外动作。 因为「;」在bash的环境下是有特殊意义的,因此利用反斜线来跳脱。
查看全部 -
1.文件搜索命令:locate (搜索速度快) locate 文件名
搜索的后台数据库:var/lib/mlocate(每天更新,所以touch有个文件,当时用locate不能搜到,mlocate这个名字会因为版本不同而不同)
强制更新数据库:updatedb (更新之后就能搜到了)
可以用locate去搜一下locate本身(var/lib/mlocate);
缺点是只能根据文件名搜索;
搜索逻辑:vi /etc/updatedb.conf (列了不搜索的条件,比如这个命令不搜索tmp目录)
2.命令搜索命令:whereis和which,
whereis 可以搜索出命令位置, 和 命令帮助文件,-b 只搜索位置,-m 只搜索帮助文件
which 可以搜索出命令的别名,不能搜到cd命令,因为cd是shell自带的
path环境变量:定义的是系统搜索命令的路径(echo $path)
3.文件搜索命令:find (耗费资源,所有文件名都会搜一遍)
find 搜索范围 搜索条件(比较耗时,应避免大范围搜索,会非常耗费系统资源)
会搜索符合条件的文件名(此时名叫ceshi1,ceshi2的搜不会被搜出来,这里若不加-name 则会列出zhaozy下的所有文件);
如果需要匹配,使用通配符匹配,通配符是完全匹配的,注意要加双引号;
附:通配符:
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
eg:[23],有括号里任意一个即可匹配,但是测试233不能被搜到,只能搜到ceshi2或者ceshi3:
find /home/aimdb/tools/zhaozy -name "ceshi[23]"
eg: 搜索2或者3结尾的:find /home/aimdb/tools/zhaozy -name "*[23]"
查看全部 -
硬链接特征:是通过I节点识别的,都是一个i节点,一般不建议创建。不能跨分区,不能针对目录使用。
红框为创建硬链接,蓝色为调用次数,此时不管从哪个文件进入,都可修改内容,删掉原文件或改名,目标文件依旧可以使用。
软链接(lrwxrwxrwx):类似win的快捷方式,拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据。修改任意文件,另一个都改变。删除原文件,软链接不能使用。调用次数始终是1.
软链接,原文件一定要写绝对路径,否则会报错,除非是在同一目录下才不会报错。
ln -s 原文件 目标文件,-s 创建软链接。
想看一个文件的内容是什么,可以用cat,
cat 是文本输出,作用对象是一个文件;echo 是标准输出,相当于程序中的println;>>或者 >是重定向,将他们的输出内容 重新定向到一个文件
[root@localhost tmp]# echo 1111 >> /root/zhaozy/cs2 cat /tmp/cs2.hard
查看全部 -
/根目录,根目录下和usr目录下的bin,sbin,这四个目录都是用来保存系统命令的。
bin:其下命令任何用户都可以执行
sbin:其下命令超级用户才可以执行
boot:启动目录
dev:特殊文件保存目录,硬件文件,不要乱动
etc:配置文件目录
home:普通用户家目录,root:超级用户家目录
lib:函数库,有需要直接调用
misc(磁带机),media(光盘),mnt(u盘):系统为我们准备的空目录,一般在mnt下创建
proc和sys:不能直接操作,这两个目录保存的是内存的挂载点,不应该操作
tmp:临时目录
usr:系统软件资源保存目录;usr/bin 系统命令(普通用户);usr/sbin 系统命令(超级用户);
var: 系统相关文档内容
总结:可以在root或home,tmp目录下随便放内容,也不能在根目录下建什么东西
查看全部 -
1.ll 相当于 ls -l
2.新建目录,-p 递归
3.删除 rm (文件或目录)
rmdir 只能删除一个目录
rm :
-r 删除目录 (删除文件可以不加r,但是一般习惯都会加r)
-f 强制删除 (rm -rf, rm -f )
rm -r 就可以删除好几级目录
rm -rf 目录/*
加星号是删除这个目录下面的,不带星号是删除这个目录:
4.mv 移动
同一目录下,相当于修改名称
5.cp 复制
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则渎职链接属性
-a 相当于 -pdr
如果想复制文件的时间,就cp -a 文件 目标位置
复制到目标位置,若该目录不存在,则会自动创建目录;
复制文件夹,需要加-r,否则无法复制:
查看全部 -
文件搜索命令
locate(搜索速度快)
locate 文件名 在后台数据库中按文件名搜索
/var/lib/mlocate locate命令所搜索的后台数据库,这个数据库不是实时更新,大概是一 天更新一次
updatedb 强制更新数据库
/etc/updatedb.conf locate是按照该配置文件的规则来进行搜索
PRUNE_BIND_MOUNTS = "yes" //开启搜索限制
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs 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 fuse.glusterfs ceph fuse.ceph" //不搜索的文件系统
PRUNENAMES = ".git .hg .svn" //不搜索的文件类型
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp /var/lib/ceph"
//不搜索的路径
查看全部 -
linux 链接命令
ln -s [原文件] [目标文件]
-s(soft):创建软链接
硬链接:(不建议使用硬链接)
1、拥有相同的i(inode)节点和存储block块,可看做同一个文件;
2、可通过i节点识别;
3、不能跨分区;
4、不能针对目录使用软链接:(一定要用绝对路径)
类似于windows的快捷方式
软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据
lrwxrwxrwx l软链接 软链接的文件权限都为rwxrwxrwx
修改任意文件,另一个也会改变
删除原文件,软链接不能使用
查看全部 -
常用目录的作用
/ 根目录
/bin /sbin 根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令,bin目录中的命令是所有用户都可以执行,sbin是只有root用户可以执行
/boot 启动目录,保存这用户的启动数据
/dev 设备文件保存目录
/etc 保存系统配置文件的目录
/home 普通用户的家目录
/root root用户的家目录
/lib 保存着函数库
/mnt /media /misc 空目录,系统挂载目录
/proc /sys 目录不能直接操作,这两个目录保存的是内存的挂载点
/tmp 临时目录
/usr 系统软件资源目录
/var 系统相关文档内容
查看全部
举报