您的位置:首页 > 运维架构 > Linux

Linux文件、目录常用命令

2018-02-26 10:50 155 查看
ls命令:
用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
语法:
ls [选项] [文件名...]
常用选项:
-a:列出目录中所有文件,包括以“.”开头的隐藏文件。
-d:将目录名像其它文件一样列出,而不是列出它们的内容。(常见用法:ls -ld [目录名])
-i:文件的左侧显示文件inode号(也叫序列号/索引号)
-k:文件大小单位,还有-M、-h等
-l:单行显示文件或目录的详细信息
-R:递归列出全部目录的内容
-s:显示文件和目录的大小,以区块为单位
--color:指定是否使用颜色区别文件类别;默认为ls='ls --color=auto'
文件类型:
我们可以使用ls -l命令查看,一般第一个字符为文件的类型,类型如下:
-:普通文件,包括纯文本文件、二进制文件和数据文件
d:目录文件
l:链接文件,类似Windows下的快捷方式
b:块设备文件,如硬盘、光驱等
c:字符设备文件,如鼠标、键盘等串行接口设备
s:socket数据接口文件
p:管道文件(FIFO,pipe),FIFO也是一种特殊的文件类型;(p很少见)
alias命令:
用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化;使用alias时,最好使用' '引起来,防止出错。注意:alias作用只局限于本次登入使用,若想永久设置则需要在/etc/bashrc文件添加。
用法:
alias 新的命令='原命令 -选项/参数'
如:alias ls=‘ls -l’
常见用法:
alias:查看系统已经设置的别名
unalias:删除别名命令
which ls:可以查看别名信息
绝对和相对路径:
绝对路径:路径的写法一定由根目录 ‘/’写起,例如 /usr/local/mysql 这就是绝对路径。
相对路径:路径的写法不是由根目录 ‘/’写起,例如,首先用户进入到/, 然后再cd /home进入到home,然后cd test 此时用户所在的路径为 /home/test 第一个cd命令后跟 ‘/home’ 第二个cd命令后跟 ‘test’, 并没有斜杠,这个 ‘test’ 是相对于 ‘/home’ 目录来讲的,所以叫做相对路径。
pwd:查看当前路径
cd命令:
用来切换工作目录至dirname。 其中dirname表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录
示例:
cd 进入用户主目录
cd ~ 进入用户主目录
cd - 返回进入此目录之前所在的目录
cd .. 返回上级目录
cd ../.. 返回上两级目录
cd !$ 把上个命令的参数作为cd参数使用(!$表示上一命令的参数)
cd /usr/local/ 进入/usr/local目录,使用绝对路径/相对路径
mkdir和rmdir命令:
mkdir命令用来创建目录,若想创建多个目录则使用空格隔开,如mkdir 123/ 345/ 456/ ;若想创建多级目录使用参数-p,如mkdir -p /root/123/456/
rmdir命令用来删除空目录,此命令只能删除空目录,非空目录不能删除;所以不常用!使用参数-p能实现删除多级空目录,如rmdir -p /root/123/456/
rm命令:
可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变
这里介绍最常用的两个选项,若想了解详细的帮助信息。可以通过man rm查看;
-r:删除目录及目录下的所有文件;rm -r能删除非空的目录并提示是否确认删除
-f:表示强制删除,不会提示是否删除;
两个选项合并使用,不管是文件还是目录都可以删除;
【使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它】
环境变量PATH:
查看环境变量:echo $PATH
自定义添加环境变量:PATH=$PATH:/root (临时修改)
永久则修改/etc/profile文件,在最后追加内容即可
如果要删除自定义变量,则重新赋值就行了。
cp命令:
用来将一个或多个源文件或者目录复制到指定的目的文件或目录。
语法:
cp [选项] [来源文件] [目标文件]
常用选项:
-i:覆盖文件前先询问用户
-r/-R:递归处理,拷贝目录必须加上此选项
-v:详细显示命令执行的过程
示例:
cp 1.txt 2.txt
cp -r /test/ /tmp/test_bak/ (拷贝目录时末尾最好加上/) .......
mv命令:
用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
语法:
mv [选项] [来源文件] [目标文件]

1.目标文件是目录且目录存在:会把源文件移动到目标目录下
2.目标文件是目录但目录不存在:这时相当于目录重命名
3.目标文件不是目录且存在:会提示是否覆盖
4.目标文件不是目录且不存在:相当于源文件重命名
文档查看命令(cat、more、less、head、tail):
cat:常用于显示文件内容,-n输入显示行号,-A显示所有内容(行结束符$)
more:用来查看一个文件的内容,后面直接跟文件名,当文件内容太多,一屏幕不能占下,而你用 ‘cat’ 肯定是看不前面的内容的,那么使用 ‘more’ 就可以解决这个问题了。当看完一屏后按空格键继续看下一屏。但看完所有内容后就会退出。如果你想提前退出,只需按 ‘q’ 键即可。
less:与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
head:用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。可使用参数-n显示指定行数:head -n5 1.txt
tail:用于显示文件的结尾的内容,默认情况下显示最后10行内容;也可以使用-n指定行数;-f可以动态显示文件最后10行内容(常用来查看日志)
chmod命令:
用来变更文件或目录的权限
语法:
chmod [options] mode file...
图解:





示例:
chmod -R 700 dir1 (-R表示递归)
chmod o+x test.sh
chmod u=rwx,g=r,o=r test.sh
chown命令:
用来更改文件的所有者
语法:
chown [-R] 账户名:组名 文件名 (-R表示级联更改)
示例:
chown user1 dir1;
chown -R user1:group1 dir2;
chown :group1 dir1
chgrp命令用于修改文件的所属组,格式:chgrp [组名] [文件名] == chown :[组名] [文件名]; 所以chgrp不常用。
umask:
用来设置限制新建文件权限的掩码,默认值为0022;所以默认情况下,目录权限值为755, 普通文件权限值为644。
目录的权限为 'rwxrwxrwx' - '----w--w-' = 'rwxr-xr-x',普通文件的权限为 'rw-rw-rw-' - '----w--w-' = 'rw-r--r--'
umask临时修改: umask 002 即可; 永久修改则需要在/etc/bashrc文件进行修改!
【计算文件权限时,尽量使用九位权限值计算,直接使用数字计算会出错】
lsattr和chattr命令:
chattr:用来改变文件特殊属性
语法:chattr [+-=][ASaci] [文件或者目录名]
‘+-=’ : 分别为增加、减少、设定
‘A’ : 增加该属性后,文件或目录的atime将不可被修改;
‘S’ : 增加该属性后,会将数据同步写入磁盘中;
‘a’ : 增加该属性后,只能追加不能删除,非root用户不能设定该属性;
‘c’ : 自动压缩该文件,读取时会自动解压;
‘i’ : 增加后,使文件不能被删除、重命名、设定链接接、写入、新增数据
lsattr:用来读取文件或者目录的特殊权限
语法:lsattr [-aR] [文件/目录名]
‘-a’ : 类似与ls 的-a 选项,即连同隐藏文件一同列出;
‘-R’ : 连同子目录的数据一同列出
set_uid:(chmod u+s /usr/bin/ls)
该权限针对二进制可执行文件,使文件在执行阶段临时具有文件所有者的权限。比如passwd这个命令就具有该权限。当普通用户执行passwd命令时,可以临时获得root权限,从而可以修改密码。
set_gid:(chmod g+s /usr/bin/ls)
该权限可以作用在文件上(二进制可执行文件),也可以作用在目录上。当作用于文件上,其功能和set_uid一样,它会使文件在执行阶段具有文件所属组的权限。目录被设置该权限后,任何用户在此目录下创建的文件都具有和该目录属组相同的组
stick_bit:(chmod o+t dirname)
可以理解为防删除位。文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限。如果没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新的文件。如果希望用户能够添加文件但不能删除该目录下其他用户的文件,则可以对父目录增加该权限。设置该权限后,就算用户对目录具有写权限,也不能删除其他用户的文件。
链接文件(软链接和硬链接):
ln命令:用来为文件创件连接,分为硬连接和软连接两种
语法:
ln [-s] [源文件] [目标文件] (不加s是创建硬链接,加s则是建立软链接)
注意:
1.不能对目录建立硬链接;也不能在不同的文件系统之间做硬链接
2.硬链接没有创建新文件固不占空间,而软链接则创建了新的文件
3.目录可以做软链接;一旦源文件被删除,软链接文件就会失效
linux下搜索文件命令
which命令:可查找可执行文件的绝对路径
whereis命令:模糊查找文件;只要包含搜索字符就会列出来(故而不常用)
locate命令:模糊查找文件或目录,也不适合精确搜索(也不常用);注意这个命令需要yum安装和初始化数据库文件才能搜索。
find命令:
请查看【find命令总结
文件后缀:
在linux系统中,文件的后缀名并没有具体意义,也就是说,你加或者不加,都无所谓。但是为了容易区分,我们习惯给文件加一个后缀名,这样当用户看到这个文件名时就会很快想到它到底是一个什么文件。
linux和window互传文件
yum install -y lrzsz; 支持xshell和CRT,不支持putty;且不好用,经常传输失败!推荐使用xftp
linux --> windows: sz filename
windows --> linux: rz filename
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 命令