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

Linux学习笔记-常用命令详解

2017-11-05 19:17 906 查看

文件属性与权限

chgrp :改变文件所属群组

chgrp [-R] dirname/filename ...
选项与参数:
-R : 进行递归(recursive)的持续变更,即连同次目录下的所有文件、目录都更新成为这个群组。


chown :改变文件拥有者

chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
选项与参数:
-R : 进行递归(recursive)的持续变更,即连同次目录下的所有文件都变更


chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

数字类型改变文件权限

chmod [-R] xyz 文件或目录
选项与参数:
xyz : 数字类型的权限属性,为 rwx 属性数值的相加,如777。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更


符号类型改变文件权限

chmod a+x filename




文件与目录管理

查看文件与目录:ls

ls [-aAdfFhilnrRSt] 目录名称
选项与参数:
-a  :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-A  :全部的文件,连同隐藏档,但不包括 . 与 .. 这两个目录
-d  :仅列出目录本身,而不是列出目录内的文件数据(常用)
-f  :直接列出结果,而不进行排序 (ls 默认会以档名排序!)
-F  :根据文件、目录等资讯,给予附加数据结构,例如:
*:代表可运行档; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件;
-h  :将文件容量以人类较易读的方式(例如 GB, KB 等等)列出来;
-i  :列出 inode 号码,inode 的意义下一章将会介绍;
-l  :长数据串列出,包含文件的属性与权限等等数据;(常用)
-n  :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在帐号管理提到!)
-r  :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;
-R  :连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来;
-S  :以文件容量大小排序,而不是用档名排序;
-t  :依时间排序,而不是用档名。


复制、删除与移动(或更名): cp, rm, mv

cp [-adfilprsu] 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 .... directory
选项与参数:
-a  :相当于 -pdr 的意思,至于 pdr 请参考下列说明;(常用)
-d  :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f  :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i  :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l  :进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p  :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r  :递回持续复制,用于目录的复制行为;(常用)
-s  :复制成为符号连结档 (symbolic link),亦即‘捷径’文件;
-u  :若 destination 比 source 旧才升级 destination !
最后需要注意的,如果来源档有两个以上,则最后一个目的档一定要是‘目录’才行!


rm [-fir] 文件或目录
选项与参数:
-f  :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i  :互动模式,在删除前会询问使用者是否动作
-r  :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!!


mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
选项与参数:
-f  :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i  :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u  :若目标文件已经存在,且 source 比较新,才会升级 (update)


touch(创建新文件)

touch 文件


mkdir (创建新目录)

mkdir [-p] 目录名称
选项与参数:
-p :帮助你直接将所需要的目录(包含上一级目录)递回创建起来!


文件内容查阅

cat (concatenate)

cat [-AbEnTv]
选项与参数:
-A  :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b  :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E  :将结尾的断行字节 $ 显示出来;
-n  :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T  :将 [tab] 按键以 ^I 显示出来;
-v  :列出一些看不出来的特殊字符


more (一页一页翻动)

more filename
空白键 (space):代表向下翻一页;
Enter         :代表向下翻‘一行’;
/字串         :代表在这个显示的内容当中,向下搜寻‘字串’这个关键字;
:f            :立刻显示出档名以及目前显示的行数;
q             :代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。


less (一页一页翻动)

less filename
空白键    :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup]  :向上翻动一页;
/字串     :向下搜寻‘字串’的功能;
?字串     :向上搜寻‘字串’的功能;
n         :重复前一个搜寻 (与 / 或 ? 有关!)
N         :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q         :离开 less 这个程序;


head、tail、wc

head  -n  filename    //查看文件的前n行内容
tail  -n  filename    //查看文件的最后n行内容
wc  filename          //查看文件内容行数


命令与文件的搜寻

which (查看指令对应的可执行文件位置)

which [-a] command
选项或参数:
-a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称


whereis (查找文件)

whereis [-bmsu] 文件或目录名
选项与参数:
-b    :只找 binary 格式的文件
-m    :只找在说明档 manual 路径下的文件
-s    :只找 source 来源文件
-u    :搜寻不在上述三个项目当中的其他特殊文件


find

find [PATH] [option] [action]
-name filename:搜寻文件名称为 filename 的文件;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的文件。这个 SIZE 的规格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB 还要大的文件,就是‘ -size +50k ’
-type TYPE    :搜寻文件的类型为 TYPE 的,类型主要有:一般正规文件 (f),装置文件 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。


文件系统的简单操作

df:列出文件系统的整体磁盘使用量

df [-ahikHTm] [目录或文件名]
选项与参数:
-a  :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k  :以 KBytes 的容量显示各文件系统;
-m  :以 MBytes 的容量显示各文件系统;
-h  :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H  :以 M=1000K 取代 M=1024K 的进位方式;
-T  :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i  :不用硬盘容量,而以 inode 的数量来显示


du:评估文件系统的磁盘使用量(常用在推估目录所占容量)

du [-ahskm] 文件或目录名称
选项与参数:
-a  :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h  :以人们较易读的容量格式 (G/M) 显示;
-s  :列出总量而已,而不列出每个各别的目录占用容量;
-S  :不包括子目录下的总计,与 -s 有点差别。
-k  :以 KBytes 列出容量显示;
-m  :以 MBytes 列出容量显示;


打包与压缩

tar -jcv -f filename.tar.bz2 filename   #用bzip2压缩文件
tar -jxv -f filename.tar.bz2            #用bzip2解压文件

选项与参数:
-c  :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j  :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-z  :透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-v  :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项!


管线命令 (pipe)


b4c1
线命令使用的是‘ | ’这个界定符号!

grep 分析一行信息, 若当中有我们所需要的信息,就将该行拿出来

grep [-acinv] [--color=auto] '搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

范例一:将 last 当中,有出现 root 的那一行就取出来;
[root@www ~]# last | grep 'root'

范例二:与范例一相反,只要没有 root 的就取出!
[root@www ~]# last | grep -v 'root'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux