ls指令
语法:ls [选项][目录]
功能:ls 有多个选项,对于目录,该命令列出该目录下所有子目录与文件。对于文件,将列出文件名以及其他信息
ls 不带选项默认显示当前目录下的文件
选项:
- -l:以列表形式列出文件详细信息
在Linux系统中,不以文件后缀区分文件类型,而是以第一个字符标识文件类型,不管是文件后缀是.c还是.txt或是其他后缀,只有是以-开头的就是普通文件
d:目录文件,简单来说就是文件夹,我们可以在该目录文件下新建文件
-:普通文件,分为文本文件、动静态库、可执行程序等
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)-
s:套接口文件
- -a:显示目录下的所有文件包括隐藏文件,以点开头的表示隐藏文件,其中一个点表示当前路径,两个点表示上一级路径,我们将在下面的cd指令中讲解.和…
- -R:列出所有子目录下的文件(以递归的方式) ,目录下的所有文件都会列出来
- -t:以时间排序(倒叙)
pwd指令
语法:pwd
功能:显示当前路径
cd指令
功能:切换路径
用法:cd [想要切换的路径]
Linux是以多叉树的结构管理文件的,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。根目录:/
选项: - … :切换到上一级路径
- …/…/:切换到上上级路径
- ~:进入工作目录,就是用户目录
- -:返回最近一次访问的路径
which指令
语法:which [指令]
功能:查看指令的系统路径和相关信息
指令本质上就是程序,Linux中,指令、命令、工具都是可执行程序 ,都存放在普通文件中,linux下一切皆文件,我们的指令都在bin目录下
touch指令
功能:新建文件
注意:touch创建的是普通文件,不是目录文件,所以不能cd进入
mkdir指令
功能:新建目录文件
mkdir也可以同时创建多个目录文件,cd可以进入,但是不能在一个目录文件下再创建多个子目录,这里就显示无法创建
选项-p:递归建立多个子目录
添加用户信任关系
这里的tree指令是以树状显示文件,需要用yum下载
sudo yum intsall -y tree
rm指令
我们删除文件一般都用rm指令
功能:删除目录或文件
选项:
-f:强制删除
-r:删除目录及目录下的所有文件,以递归的方式。
删除目录要带r选项,此时我们的p1/p2/p3就删除了
cp指令
语法:cp [选项] [源文件] [目标文件] [指定目录]
功能:复制文件或目录
常用选项:
-f 强行复制文件或目录, 不论目的文件或目录是否已经存在
-r 递归处理,将指定目录下的文件与子目录一并处理。
我们复制文件file11,同时命名为file
默认复制到当前目录下,也可以最后指定目录
mv指令
功能:移动文件或重命名文件
用法:mv [选项] [源文件] [目标文件]
选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
这里我们将文件cxq.txt移动到file2目录下
如果mv后面跟的不是文件,而是文件名,就会将文件重命名
less指令
功能:查看文件内容,可以使用 [pageup][pagedown] (前后按键)等按键的功能来往前往后翻看文件,而且less在查看之前不会加载整个文件。
选项:
-i :忽略大小写
-N :显示行号
/字符串:向上搜索字符串的内容
?字符串:向下搜索字符串的内容
n :重复前一个搜索(与/ 或?有关)
N:返向重复前一个搜索(与/ 或?有关)
q:退出less
我们输入/peer_network.cpp向上搜索字符peer_network.cpp,less就会帮我们标记字符peer_network.cpp的内容
按q退出less界面
tail指令
功能:用于显示指定文件末尾内容,我们一般查看日志时肯定是查看最新的内容,也就是从尾部开始查看,tail就能很好的帮助我们查看最近的内容
选项:
-f :循环读取
-n<行号> :显示行数
tail - f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容,非常适合查看日志
如果要显示第100-110行,该怎么显示呢?
通过重定向将前110行写入一个tmp临时文件,然后在读取尾10行,不过这种方法需要重新创建文件,不进浪费空间效率也低
第二种方式:管道操作
使用管道时默认隐式发生了重定向
date指令
格式
%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d
find指令
功能:在文件数中查找文件,并做出相应的处理(可能会访问磁盘),find指令会帮我们在当前目录以及所有该目录的所以子目录下查找相应的文件,当我们遍历一个大的文件系统时,可能会花费一点时间,然后显示相应的文件信息,但当我们下一次再用find查找时,就会快很多
选项:-name :按照文件名查找
例:我们查找文件名为bubi-err.log的文件,就会把该目录下的所以子文件名为bubi-err.log的显示出来
指定目录
语法:find [起始目录位置] [-name][filename]
grep指令
功能:文本行过滤,搜索字符串
常用选项:
-i:忽略大小写,大小写视为相同
-n:输出行号
-v:反向选择
例:查看bubi-err.log文件,将’7F2810091880’作为关键字过滤出来
zip指令/unzip指令
zip语法:zip [压缩后的文件名.zip] [目标文件]
功能:将文件压缩成.zip格式
常用选项:
-r :将指定目录下的所有文件和子目录一并处理,按递归方式
unzip 语法 :unzip [压缩文件.zip]
-d:压缩到指定路径下
如果我们不加-r选项,直接压缩文件
我们以压缩xiaoxiao文件为例,其中xiaoxiao还有3个子目录file1,file2和file3,压缩后的file.zip大小只有168
解压后发现test文件是个空目录,没帮我们将所以文件都压缩过来,所以要用递归方式进行压缩
tar指令
和zip/unzip类似,不过解压后的文件后缀为.tgz
功能:完成打包,压缩,解压
选项:
-c :建立一个压缩文件的参数指令(create 的意思)
-x :解开一个压缩文件的参数指令
-t :查看 tarfile 里面的文件!
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
-C :解压到指定目录
通常将-czf和-xzf配合使用,用来压缩和解压 ,这里我们同样将压缩后的文件cur.tgz移动到test目录下进行解压
uname 指令
功能:获取电脑和操作系统相关信息
选项:
-a :输出详细信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称
-r :输出内核版本号
uname默认输出内核名称,hostname默认输出主机名,实际上我们只需要-a选项就够了
内核版本号:3表示主版本号,10表示副版本号,其中副版本号为偶数:稳定版内核 为奇数:测试版内核,我们服务器的使用的内核版本一般都不是最新的,而是一些已经使用过多年的经典版本,对全新的版本,需要经过岁月的考验,证明内核是稳定,安全,高效的才可能使用
Linux中的热键
[Tab] :命令补全,按一次或两次,会将以wh开头的指令显示到屏幕上
[c]:终止当前程序,比如屏幕上一直输出字符,写了一个死循环代码,就可以Ctrl +c终止
[Ctrl d]:代替exit切换身份,多次Ctrl d直接退出
指令一览
安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab
网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup
系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode