目录
2.1&2.2 系统目录结构
2.3 ls命令
2.4 文件类型
2.5 alias命令
2.6 相对和绝对路径
2.7 CD命令
2.8 创建和删除目录mkdir rmdir
2.9 rm命令
2.10 环境变量PATH
2.11 cp命令
2.12 mv命令
2.13 文档查看cat_more_less_head_tail
2.14 文件或目录权限chmod
2.15 更改所有者和所属组chown
2.16 umask
2.17 隐藏权限lsattr_chattr
2.18 特殊权限set_uid
2.19 特殊权限set_gid
2.20 特殊权限stick_bit
2.21 软链接文件
2.22 硬链接文件
2.23 find命令(上)
2.24 find命令(中)
2.25 find命令(下)
2.26 文件名后缀
2.27 Linux和windows互传文件
1.记笔记的截图可以直接复制命令行的显示内容,节省时间
2.学习的进度比较快,笔记比较生疏,熟悉了就会快
3.提前预习,尽快往后学,这样才轻松
tree -L 1 /
which alias #查出绝对路径 在path找
which ls # alias ls='ls --color=auto'
ls -l #详细列表
ls -h #合适单位大小显示
ls -a #显示隐藏文件
ls -t #按照时间排序,最新的在最上ls #list 列取目录,默认家目录
ls /
ls /root/ #root家目录
ls /root/.ssh/authorized_keys #创建密匙文件、公钥
useradd panyu
ls /home/panyu/
useradd lingling
ls /home/lingling/ #sshd的配置文件决定公钥名称authorized_keys
tree #树形显示,需先安装 tree命令用来显示文件的目录结构(用命令:yum install -y tree 安装此命令),-L 指定查看的层次:tree -L 3 目录,我们可以用man 命令来查看tree的详细用法。
yum install -y tree #自动安装并有依赖包,不交互
tree -hep #显示简略帮助
man tree #用来显示帮助文档,具体含义
tree -L 2 / #根目录
ls /bin/ #/bin/ /sbin/ /usr/bin/ /usr/sbin/ 存放常用命令,sbin:super bin 超级用户命令 /usr/bin/ /usr/sbin/做了软链接
ls /bin
ls /boot/ #系统内核
ls /dev/ #系统文件 硬盘、鼠标、键盘
ls /etc/ #系统配置文件
ls /etc/ssh/sshd_config #ssh配置文件
ls /home/ #家目录
ls /lib #/lib 库文件 /lib64 64位库文件 32位内存3.2g内存数
ldd /bin/ls #看ls命令依赖哪些库
ls /media/ #底下放置的就是可移除的装置,ru盘临时挂在目录,包括软盘、光盘、DVD
ls /mnt/ #mount 可直接理解为“挂载”挂接光驱、USB设备的目录,加载后,会在mnt里多出相应设备的目录。有了mdia就临时挂载
ls /opt/ #空目录
ls /proc/ #进程文件与目录 进程ID
ls /proc/1 #1号进程文件
ls -l /proc/1 #1号进程文件具体
ls /run/ #进程产生的文件,一重启就消失
ls /srv/
ls /var/
ls /var/ #log系统日志
ls /var/ #包含系统一般运行时要改变的数据
ls -l #第二列数字显示多少个文件使用了相同inode,表示是一个文件,如果是文件则表示有几个子目录,包括隐藏文件和.和..
ls -i anaconda-ks.fg #加文件名,inode号:文件属性权限所属大小时间等是信息存储在inode。唯一性。
ls -a #查看所有隐藏文件,.开头的都是隐藏文件
ls -la
ls -lt #t表示时间,按照时间排序
ls -d
ls -ld #只列目录本身,如:ls -ld /
ld -lh #大小自动抓换合适单位
ll #ls -l
alias
which ll
/bin/ls /
组合用法;ls -lth 显示权限,所有者,所属组,隐藏文件,时间排序,大小单位
第一列:inode索引节点号
第二列:文字类型及权限(共10个字符,第一个字符为类型,后9个字符为文字权限)
第三列:硬连接数(详细参看ln命令的讲解)
第四列,第五列:归属组及所属组
第六列:文件大小
第七列,第八列,第九列:最近修改时间。
第十列:文件或目录名。
第一列第一个字母表示文件类型:
d 表示目录directory
-普通文件:文本文档、二进制
l 链接文件(粉绿色) :软链接文件类型
b 块设备(比如磁盘)
c串行端口设备(键盘、鼠标等等):(字体×××):字符串设备类型
s 套接字文件,用于进程之间通信 (紫红色)
which 查看命令绝对路径和别名
which ls #which 查看命令绝对路径和别名
/bin/ls #使用绝对路径来使用命令(不过没颜色显示)
alias #查看系统所有命令的别名
alias abc='ls -lth' #自定义别名
unalias abc #删除别名命令 unalias
echo $PATH #就是系统命令一系列的路径
相对和绝对路径
绝对路径:以根目录/写起,如/etc/sysconfig/network-scripts/ifcfg-ens33
相对路径:不是从根写起;(指当前目录)
cd - 是上一次的目录
cd ~是进入家目录
cd ..进入上一级目录
cd命令是用来变更当前目录(CD后面跟路径)
pwd显示当前目录所在位置
cd - 可以返回上一次所在目录
cd ..进入上一级目录
[root@localhost tmp]# cd ~
[root@localhost ~]# cd / #进入根目录
[root@localhost /]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cd ..
[root@localhost sysconfig]# cd ..
[root@localhost etc]# cd ..
[root@localhost /]# cd ..
[root@localhost /]#pwd #显示当前目录
mkdir创建目录命令
[root@localhost ~]# mkdir /tmp/aminglinux/
[root@localhost ~]# ll /tmp/aminglinux/
总用量 0
[root@localhost ~]# ll -d /tmp/aminglinux/
drwxr-xr-x. 2 root root 6 12月 17 17:18 /tmp/aminglinux/
[root@localhost ~]#
加参数-p,可以递归创建
[root@localhost ~]# mkdir -p /tmp/aminglinux/1/2/3
[root@localhost ~]# ll -d /tmp/aminglinux/1/2/3 #只列出目录文件夹而不显示文件
drwxr-xr-x. 2 root root 6 12月 17 17:21 /tmp/aminglinux/1/2/3
[root@localhost ~]# mkdir -pv /tmp/aminglinux/4/5/6 #在递归创建的时候加参数-pv,可视化进程
mkdir: 已创建目录 "/tmp/aminglinux/4"
mkdir: 已创建目录 "/tmp/aminglinux/4/5"
mkdir: 已创建目录 "/tmp/aminglinux/4/5/6"
删除目录的命令rmdir
[root@localhost ~]# rmdir /tmp/aminglinux/1
rmdir: 删除 "/tmp/aminglinux/1" 失败: 目录非空
从上面的提示可以看出,rmdir只能删除空目录,如果里面有文件或者其他目录,那么它将不能删除。如果要删除这个文件夹,必须要将文件夹里面的全部东西都删除。
删除命令rm #可以删除非空目录
[root@localhost ~]# rm /tmp/aminglinux/1/3.txt
rm:是否删除普通空文件 "/tmp/aminglinux/1/3.txt"?
你在删除文件或目录的时候他会询问你是否删除,如果单个的文件可以,如果文件很多的话那就会很麻烦。这时我们在命令后面加参数-f,就不会再询问了
[root@localhost ~]# rm -f /tmp/aminglinux/1/3.txt
[root@localhost ~]# rm -r /tmp/aminglinux/1/2/3/ #删除文件夹
rm:是否删除目录 "/tmp/aminglinux/1/2/3/"?
这样删除还是会先询问,我们在加参数-f,这样就不会再有询问的提示了
[root@localhost ~]# rm -fr /tmp/aminglinux/1/2/3/
工作中先可以利用mv移走,如果不出问题可以rm删除,不建议用rm直接删除。
history #查看之前使用命令的历史
删除命令rm #可以删除非空目录
[root@localhost ~]# rm /tmp/aminglinux/1/3.txt
rm:是否删除普通空文件 "/tmp/aminglinux/1/3.txt"?
你在删除文件或目录的时候他会询问你是否删除,如果单个的文件可以,如果文件很多的话那就会很麻烦。这时我们在命令后面加参数-f,就不会再询问了
[root@localhost ~]# rm -f /tmp/aminglinux/1/3.txt
[root@localhost ~]# rm -r /tmp/aminglinux/1/2/3/ #删除文件夹
rm:是否删除目录 "/tmp/aminglinux/1/2/3/"?
这样删除还是会先询问,我们在加参数-f,这样就不会再有询问的提示了
[root@localhost ~]# rm -fr /tmp/aminglinux/1/2/3/
工作中先可以利用mv移走,如果不出问题可以rm删除,不建议用rm直接删除。
history #查看之前使用命令的历史
环境变量PATH(类似自定义命令):命令是一个文件,命令在PATH里就无须敲绝对路径
示例;
首先查找ls命令绝对路径,复制ls文件在/tmp目录下自定义ls2,此时用绝对路径是可以使用
现在更改为不使用绝对路径使用,需要添加到$PATH环境变量中。/tmp/已经添加到PATH变量中了。这时使用变名可以使用
还需要到/etc/profile 里添加一次,不然重启失效;
在末尾添加PATH=$PATH:/tmp/
删除方法:
CP格式:CP{选项}{来源文件}{目的文件}
复制目录方式;(复制目录需要加-r)
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
实例:
如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.
或点点..
的形式。例如,下面的命令将指定文件复制到当前目录下:
cp ../mary/homework/assign .
所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。
将文件file复制到目录/usr/men/tmp
下,并改名为file1
cp file /usr/men/tmp/file1
将目录/usr/men
下的所有文件及其子目录复制到目录/usr/zh
中
cp -r /usr/men /usr/zh
交互式地将目录/usr/men
中的以m打头的所有.c文件复制到目录/usr/zh
中
cp -i /usr/men m*.c /usr/zh
我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结了一个方法:
cp aaa/* /bbb
复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。
cp -r aaa/* /bbb
这次依然需要按Y来确认操作,但是没有忽略子目录。
cp -r -a aaa/* /bbb
依然需要按Y来确认操作,并且把aaa目录以及子目录和文件属性也传递到了/bbb。
\cp -r -a aaa/* /bbb
成功,没有提示按Y、传递了目录属性、没有略过目录。
查看上一行,最后一个命令: !$是查看上一行的最后一个命令,也就是/tmp/wzq1
cp -r /tmp/wzq/ /tmp/wzq/
tree $! #查看上一行,最后一个命令。!$是查看上一行的最后一个命令,也就是/tmp/wzq1
mv命令:移动
格式:mv{选项}{来源文件或目录}{目的文件或目录}
当目的文件不存在时,则重命名
当目的目录不存在时,则重命名一个目录
跟CP命令方式一样。
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
将文件ex3改名为new1
mv ex3 new1
将目录/usr/men
中的所有文件移到当前目录(用.
表示)中:
mv /usr/men/* .
把mv放在后面,移动时不再询问。
cat
注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
more
不过这个命令可以查大文件,按空格可以翻页
less
按J可以向下翻,按K可以按上翻,按下/键输入字符串查找,灰色的就是查找出来的字符串!
head
用于显示文件前10行;head -n 2 {文件名}:查看前2行
tail
用于显示文件最后10行;head -n 2 {文件名}:查看后2行;加-F参数可以动态,实时查看更新信息!
文件和目录权限chmod
chmod 命令作用:更改文件权限
输入ls - ld {查询目录属性要加d}
[root@localhost tmp]# touch 333.txt
[root@localhost tmp]# ls -l 333*
-rw-r--r--. 1 root root 0 8月 4 16:45 333.txt
r代表可读权限 数字表示4;w代表写入权限 数字代表2;x代表可执行文件 数字代表1
第一种更改权限方法;chmod {数字}{文件}
级联更改权限+R {chmod -R {权限数字} {目的文件}}
示例:途中sky权限和ing权限不一样、利用-R命令可以级联更改sky下的子目录和文件的权限
[root@localhost tmp]# chmod 700 333.txt
[root@localhost tmp]# ls -l 333.txt
-rwx------. 1 root root 0 8月 4 16:45 333.txt
chmod还有一个“a+”“a-”选项参数,给三段都加上权限
[root@localhost tmp]# chmod a+x 333.txt
[root@localhost tmp]# !ls
ls -l 333.txt
-rwx--x--x. 1 root root 0 8月 4 16:45 333.txt
命令格式{chown {账户名:组名} {文件名}
示例:test为账号 组名为root
示例:级联更改方法加-R
[root@localhost tmp]# chown panyu001 333.txt
[root@localhost tmp]# !ls
ls -l 333.txt
-rwx--x--x. 1 panyu001 root 0 8月 4 16:45 333.txt[root@localhost tmp]# lsattr test01/111.txt
----i----------- test01/111.txt
[root@localhost tmp]# chattr -i test01/111.txt
[root@localhost tmp]# chown -R panyu:panyu001 test01
chown: 无效的用户: "panyu:panyu001"
[root@localhost tmp]# chown -R lingling:panyu001 test01
chown: 无效的用户: "lingling:panyu001"
[root@localhost tmp]# chown -R panyu001:panyu test01
[root@localhost tmp]# ls -l test01
总用量 4
-rw-r--r--. 1 panyu001 panyu 12 7月 31 21:24 111.txt
-rwxr-xr-x. 1 panyu001 panyu 0 8月 4 17:27 222
命令格式:chgrp [组名] [文件名]
umask:文件和目录的默认权限022
创建目录默认权限是777;创建文件默认权限是666
以上权限是{目录文件默认权限}-{设定umask默认权限}
自定义赋值umask默认权限命令 umask {数字}
概念:chattr设置隐藏文件;lsattr查看隐藏文件;隐藏权限 ls -l 看不到
设置隐藏权限的命令位chattr
命令chattr格式 : chattr [+-=] [Asaci] [文件或者目录名],其中,+ - =分别表示增加、减少和设定。 各个选项的含义如下:
A :增加该属性后,表示文件或目录的atime(时间)将不可修改,访问时间(access time)
s:增加该属性后,会将数据同步写入磁盘中
a:增加该属性后,表示只能追加不能删除,非root用户不能设定该属性。
c:增加该属性后,表示自动压缩该文件,读取时会自动解压。
i:增加该属性后,表示文件不能删除、重命名、设定链接、写入以及新增数据。
[root@zhangzhen-01 ~]# mkdir dior3 #创建一个目录
[root@zhangzhen-01 ~]# chattr +i dior3 #添加不能删除重命名等操作
[root@zhangzhen-01 ~]# touch dior3/test1 #创建文件
touch: 无法创建"dior3/test1": 权限不够 #设定成功,创建不了文件
[root@zhangzhen-01 ~]# chattr -i dior3 #给该权限取消
[root@zhangzhen-01 ~]# !touch #继续创建文件
touch dior3/test1
[root@zhangzhen-01 ~]# ls dior3/test1 #ok,取消成功,正常创建文件
dior3/test1
[root@zhangzhen-01 ~]# chattr +i dior3
[root@zhangzhen-01 ~]# rm -fv dior3/test1 #在这里,如果目录有了“i”权限以后,里面的文件也是删除不了的
rm: 无法删除"dior3/test1": 权限不够
打开写入东西 写不进去,下面提示:你正在更改一个只读的文件 ;写不进去东西 保存不了
查看权限 查看隐藏权限
新建文件是什么权限也没有的
无法更改名字无法删除
带~号的为缓存文件 编辑的时候自动创建的缓存文件;在创建也不可以 因为 touch 会更改文件的时间
去掉隐藏权限然后可以更改编辑
+a 权限 只能追加不能删除更改
只能往文件末尾加东西 重定向也不可以 可以 touch 更改文件时间 内容不更改
去掉
给目录加权限 和 给文件加权限一样 不可加入删除东西
如果给目录加了i权限不可以创建新文件或目录 但是如果里面有文件就可以写东西或者重定向追加进去
如果给目录加了a权限 可以创建新文件或目录或者写入追加重定向内容
不可创建目录但不影响给原有文件写东西
lsattr命令
概念:该命令用于读取文件或目录的特殊权限
格式:lsattr [-aRd] [文件/目录名]
选项:
-a:类似于ls -a选项,目录里隐藏文件一同列出
-R:连同子目录的数据一并列出。
-d 查看目录本身
passwd这个命令是linux中普通用户改密码的命令,他的文件权限是
[root@localhost ~]# which passwd
/usr/bin/passwd
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
这里面多了一个“s”这个权限,这就是set-uid权限。它的作用是只要不是root用户去执行set-uid这个命令时,在执行的那一瞬间临时获得root的身份。前提是这个文件必须是二进制的文件,而且是一个可执行的文件。
哪个如何给文件设置set-uid的权限呢?
我们可以输入chmod u+s 【二进制文件的绝对路径】
这是作用在组上的权限位。
[root@localhost ~]# chmod g+s /usr/bin/ls
[root@localhost ~]# ll /usr/bin/ls
-rwxr-sr-x. 1 root root 117656 11月 6 2016 /usr/bin/ls
这是让普通用户拥有所属组的权限,他不仅可以作用在文件上,也可以作用在目录上。
[root@localhost ~]# chmod g+s aming
drwxr-sr-x. 2 root root 6 1月 6 09:15 aming
当作用在文件上时,和set-uid是类似的。当做用在目录上时,当你创建子目录或者子文件的时候,创建的子文件和子目录的所属组和该目录的所属组保持一致。
[root@localhost ~]# ll -d /tmp
drwxrwxrwt. 29 root root 4096 1月 8 21:16 /tmp
这个t,这就是stick-bit权限,是防删除位。只有有权限的人才可以删除,比如所有者和root。
这里还有一个知识点,就是你的文件权限是按照目录的权限来执行,而不是按照文件的权限来执行。但是你如果加了stick-bit,你就不能删除了,但是你可以修改。
总结如下:
chmod u+s xxx # 设置setuid权限
chmod g+s xxx # 设置setgid权限
chmod o+t xxx # 设置stick bit权限,针对目录
chmod 4775 xxx # 设置setuid权限
chmod 2775 xxx # 设置setgid权限
chmod 1775 xxx # 设置stick bit权限,针对目录
相当于windows中的快捷方式,由于软连接所创建的文件为一个独立的新的文件,所以会占用掉indoe与block系统有个/root/crontab,它是/etc/crontab的软连接,如果删掉源文件/root/crontab,那么/etc/crontab这个文件的数据也不能查看了,就好像windows里面的桌面快捷方 式,源文件被删除了,快捷方式也失效了
语法:ln -s 【源文件或目录】 【软件链名字】
软连接总结:
(1)可以应用于目录
(2)可以跨文件系统
(3)不会增加被链接文件的链接次数
(4)大小为指定的绝对路径所包含的字符总数(5)有自己的inode号(6)权限无关紧要
[硬链接]-->指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户 就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和 其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
语法:ln 【源文件】 【硬连接文件】
硬连接总结:
(1)硬链接的inode相同
(2)只能对文件创建,不能应用于目录
(3)不能跨分区
快捷键:
Ctrl + l :清屏
Ctrl + d :退出终端(相当于执行了:exit 或logout)
Ctrl + c : 强制中断
Ctrl + u : 在命令输入行,删除光标前的字符串
Ctrl + e : 光标移到末尾
Ctrl + a : 光标移到开始
一些搜索的命令:which ,whereis,locate,find
which命令是查找命令是否存在,以及命令的存放位置。
whereis命令只能用于搜索程序名,而且只搜索二进制文件。
locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。
find命令:最强大的搜索
[root@mylinux ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@mylinux ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
[root@mylinux ~]# yum install -y mlocate
[root@mylinux ~]# locate ls
locate: 无法执行 stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录 (没有文件路径数据库)
[root@mylinux ~]# updatedb (每天自动生成,这里手动生成)
[root@mylinux ~]# locate 123
/root/123 (查找123目录)
/usr/lib/golang/test/fixedbugs/bug123.go
/usr/lib/golang/test/fixedbugs/issue12347.go
/usr/lib/modules/3.10.0-693.el7.x86_64/kernel/drivers/media/dvb-frontends/cx24123.ko.xz
/usr/lib64/gconv/IBM1123.so
/usr/share/man/man1/perl5123delta.1.gz
/usr/share/perl5/pod/perl5123delta.pod
[root@mylinux ~]# find /etc/ -name "sshd_config" (在/etc/目录下寻找名字叫sshd_config的文件或者目录)
/etc/ssh/sshd_config
[root@mylinux ~]# find /etc/ -name "sshd*" (在/etc/目录下寻找名字前缀是sshd的文件或者目录,其实就是模糊搜索)
/etc/ssh/sshd_config
/etc/systemd/system/multi-user.target.wants/sshd.service
/etc/sysconfig/sshd
/etc/pam.d/sshd
[root@mylinux ~]# find /etc/ -type d -name "sshd*" (指定只要目录)
[root@mylinux ~]# find /etc/ -type f -name "sshd*" (指定文件和目录都显示,l为软链接文件,b为block文件一般在/dev/下)
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/etc/pam.d/sshd
[root@mylinux ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1418 块:8 IO 块:4096 普通文件
设备:802h/2050d Inode:33574978 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2017-12-23 10:34:56.694021406 +0800
最近更改:2017-12-12 23:42:39.669873370 +0800 (更改文件内容的时间)
最近改动:2017-12-12 23:42:39.669873370 +0800 (改动inum的时间)
创建时间:-
find的 -mtime是文件最近改动的时间,即是文件内容改动
-atime是最近访问时间
-ctime是最近改动时间,是改动如权限一类文件信息,而不是文件内容
查看一天内发生更改的文件
[root@mylinux ~]# find /etc/ -type f -mtime -1
/etc/resolv.conf
/etc/resolv.conf.save[root@mylinux ~]# find /etc/ -type f -mtime -1 -o -name "*.conf" (-o表示或者)
[root@mylinux ~]# mkdir 1
[root@mylinux ~]# touch 1.txt
[root@mylinux ~]# ln 1.txt 1/1.txt
[root@mylinux ~]# ls -l 1.txt
-rw-r--r--. 2 root root 0 12月 24 14:23 1.txt
[root@mylinux ~]# ls -i 1.txt
33575016 1.txt
[root@mylinux ~]# find / -inum 33575016
/root/1/1.txt
/root/1.txt查找一小时以内的更改过的文件
[root@mylinux ~]# find /root/ -type f -mmin -60
/root/1/1.txt
/root/1.txt
查看并用ls -l的方式展现
[root@mylinux ~]# find /root/ -type f -mmin -60 -exec ls -l {} \;
-rw-r--r--. 2 root root 0 12月 24 14:23 /root/1/1.txt
-rw-r--r--. 2 root root 0 12月 24 14:23 /root/1.txt
更改找到文件或文件夹名称
[root@mylinux ~]# find /root/ -type f -mmin -60 -exec mv {} {}.bak \;
[root@mylinux ~]# find /root/ -type f -mmin -60
/root/1/1.txt.bak
/root/1.txt.bak
查找小于10k的文件
[root@mylinux ~]# find /root/ -type f -size -10k -exec ls -lh {} \;
Linux下可以自由定义文件后缀名,不存在指定的程序对指定后缀名文件打开,不像Windows。
类似Linux下的.conf文件都是一种配置文件,但是这只是约定俗成的。
常用的文件后缀名:
1.*.php ------这个大家都知道吧,是能用php语言解释器进行解释,能用浏览器打开的文件;
2.*.so -------这类是库文件;
3.*.doc *.obt --------这是OpenOffice 能打开的文件;
4..bz2 ------bzip2的压缩文件
5..gz ------gzip的压缩文件
6..tar ------tar打包文件(是包文件不是压缩文件)
7..tbz------tar打包并用bzip压缩文件
8..tgz-----tar打包并用gzip压缩的文件
9..au -----audio文件
10..gif -----gif图象文件
11..html/.htm-----HTML文件
12..jpg-----JPEG图象文件
13..pdf------电子文档(PDF格式的)
14..png-----PNG图象文件
15..ps------postscinpt文件(打印格式文件)
16..txt------纯文本文件
17..wav-----audio文件
18..xpm-----图象文件
19..conf-------配置文件
20..lock-------LOCK文件(用来判断一个文件或设备是否被使用)
21..rpm------REDHATPackage.Manager文件(套件包或软件包)
22..c -------C源程序代码文件
23..cpp------C++源程序代码文件
24..h -------C或C++程序的头文件
25..o------程序目标文件
26..pl------perl脚本文件
27..so-----类库文件
[root@hao-01 ~]# yum install -y lrzsz #1. yum安装 lrzsz:
[root@hao-01 ~]# sz 1.txt #2. Linux上的文件,传输给windows下:sz 跟文件
[root@hao-01 ~]# rz #3. windows上的文件,传输给Linux下: