linux运维基础(笔记)

一、VMware的使用和Linux系统的安装
1、VMware的快照、挂起的作用

快照:保存某一个状态,连命令行的输入都可以重现,比如在实验是架设了http服务器进行快照可以保存初始状态,以防在设置时出现问题还要从头装的麻烦

挂起:暂停(保持在某一个状态),比如在试验后长时间不用但是等会又需要开启虚拟机可以使用挂起

2、关于虚拟机的几种网络设置所使用的网卡情况

虚拟机:桥接模式 <---------------->宿主机:物理网卡
桥接模式虚拟机使用的就是宿主机的的物理网卡,跟宿主机的网段是一样的

虚拟机:NAT模式 <---------------->宿主机:VMware Network Adapter VMnet8
NAT模式使用了网络地址装换,使用的VMware net 8这块网卡,有时候需要自己在网络--更改适配器来手动启动这块网卡

虚拟机 :仅主机<---------------->宿主机:VMware Network Adapter VMnet1
使用的VMware net 1这块网卡,有时候需要自己在网络--更改适配器来手动启动这块网卡

关于这几种模式的虚拟机的ip地址设置可以手动设置,就在VMware的编辑--虚拟网络编辑器

3、如果有时候Linux无法联网,可以ifconfig检查是否分配了IP地址,有时候我们自己没有设置手动分配IP地址的话就需要dhclient来获取一个ip或者自己手动更改自动获取ip的设置


二、操作系统概念

1、操作系统,带有很多外围程序的系统、


OS.png

2、程序分为直接作用到硬件上,有些直接作用到内核上(效率高)

3、API:application program interface 应用程序接口

4、随系统一起启动
不随系统一起启动应用程序:交互式应用程序(用户使用时根据需要启动应用程序)

5、Linux版本号(内核版本号):三部分组成
内核版本:3.6.28
3是主版本号
6是次版本号(奇数代表是开发版,偶数是发行版本)、
28代表第多少次修订

6、关于开发流程
开发--内测(修复漏洞,开发新功能)--公测--正式版本生成(正式上线)

7、[root@www ~] #
root:当前登陆的用户名
www:主机名
~:当前用户所处目录(~代表用户宿主目录) ps:这里发现了一个小东西,如果在开头行打出“”会不显示,要在前加一个\,才会正确显示~,应该是编码问题
#:代表当前用户是管路员 ps:出现了同上的问题

如果是普通用户最后显示的是$,代表当前登录用户是普通用户


三、Linux设计哲学

1、远程登录Linux工具有很多比如xshell,putty,CRT

其中xshell的使用可以直接输出 ssh 10.10.10.137 ,这种格式连接远程登录

2、sheel的作用 shell:壳

sheel:使用者和计算机交互的接口(人机交互接口)
sheel中输入命令,sheel把命令传递给内核,内核把命令结果反馈给sheel,人从sheel中读取命令执行结果

内核的调用可以来至图形界面、字符界面两种方式的调用

Linux支持的sheel:bash(Linux默认支持的sheel)、ksh、csh

3、内核的作用

进程的管理:进程(要执行的任务程序)
内存的管理
文件系统:存储设备上存储数据的方式方法:(NTFS、FAT32、xfs等只是存储数据的方式不一样,就像装水的水杯一样,只是杯子的形状不一样,但是数据实质上是一样的)
--Windows:NTFS、FAT32 (FAt32最多支持2T的数据存储)
--Linux:ext3、ext4、xfs等
网络功能:管理IP地址信息等
硬件驱动:
安全功能:

4、Linux设计思想
--a.由很多的小程序组成,每一个小程序完成单一的功能,实现复杂的任务(http服务需要安装很多小组件)
--b.一切皆文件:所有的外围设备(硬件)或者其他程序都是以文件的形式存在,比如硬盘外接设备等
--c.尽量避免捕获用户接口
--d.配置文件保存为纯文本格式(可以用文本编辑器编辑,如vim)

5、Linux终端:多用户多任务系统
Linux一共有6个字符终端,按Ctrl+Alt+F1--F6可以切换
退出当前终端:exit

6、Linux界面:
--GUI:graphical user interface:图形用户接口(图形界面) 切换图形界面到字符界面:Ctrl+Alt+F7
--CLI:command line interface:命令行接口(字符界面)

Linux的六个终端是基于字符界面,GUI图形界面(常用的图形界面的几种类型:GNOME(Linux默认的图形界面,C语言开发的),KDE(C++开发的),xface(简化的轻量级的图形界面))

7、用户名和密码是用户获取资源的凭证

8、切换用户su(switch user)
su命令:root用户切换到普通用户时不需要密码,但是普通用户切换到root用户时需要密码
退出当前用户exit

9、Linux命令格式:
--命令字 [选项] [命令作用对象] (括号中的表示可以省略不写)
---命令字:唯一的,实现某一功能的口令(ps:发现一个功能,就是在紧跟下一行只打---就会把上一行加粗显示,而先空行在打---就会出现分割线)
---选项:修改命令的执行方式(实现待定的功能,比如ls的显示隐藏文件显示修改时间文件大小等功能)


windows中的库文件名字dll:dynamic link library
Linux共享库名称 .so:shared object

内核版本号和发行版本号是不一样的,比如centos 6 等内核版本号不是6


结构.png

Linux操作系统中中系统是通过识别UID(user ID)来识别不同的用户,系统不会认识用户名,只认识数字。

3A认证:
认证机制:authentication
--密码认证:
a、密码符合复杂性要求(数字大小写字母特殊符号至少三种)
b、密码长度(至少七位)
c、不要使用易记的密码(使用随机字符,一些软件如keepass)
d、定期更改密码
e、重复密码的时间要长(使用相同密码的更换周期时间要长)
--授权机制:authorization
--审计机制:audition(审计日志等)


四、高效获取命令帮助信息

1、查看Linux登录信息的设置:/etc/issue

/etc/issue用法:当我们在终端接口登录的时候,会有几行提示字符串,那么这个字符串就是设置在/etc/issue。
issue内各代码说明:
\d 本地端时间的日期
\l 显示第几个终端接口
\m 显示硬件的等级
\n 显示主机的网络名称
\o 显示域名
\r 操作系统的版本
\t 显示本地端的时间
\s 操作系统的名称
\v 操作系统的版本


示例.jpg

2、Linux命令分类:

--内部命令:shell自带的命令
--外部命令:在Linux文件系统中存在一个应用程序

type:查看Linux命令类型


示例.png

cd is a shell builtin 有builtin关键字说明是内部命令,builtin是内嵌的意思
mkdir is /bin/mkdir 有路径显示说明是外部命令

路径:
--绝对路径:从根目录(/)开始的路径是绝对路径,Linux系统中只有一个根
--相对路径:以所处的工作目录为参照点 (. 代表当前路径 .. 代表上一级目录 ~代表所处的是宿主目录)

3、ls(list):列出目录

-l(long):以长格式显示
-rw-r--r--. 1 root root 1546 5月 18 07:07 anaconda-ks.cfg
--关于长格式显示的说明
--
-第一位:文件类型
-:代表普通文件(file)
d:代表目录(directory)
b:块设备(block)如硬盘,U盘等
c:字符设备(char)如键盘等
s:套接字文件(socket)
p:命名管道(pipe)
l:符号链接文件(symbolic link file)
--
rw-r--r--第二到第十位:权限位(rwx:读写执行)
234位:文件所有者权限(owner)
567位:文件属组权限(group)
8910位:其他用户权限(other)
--
1:代表文件硬链接的次数
--
第一个root:代表文件所有者(owner)
第二个root:代表文件所属组(group)
--
1546:代表文件大小
--
5月 18 07:07:文件最后被访问的时间戳
文件的时间戳说明:(stat filename可以查看时间戳)
a、access:访问的时间戳
b、Modify:文件被修改的时间戳(修改文件数据:添加删除数据等)
c、change:文件被更改的时间戳(更改文件属性:更改权限等)
--
anaconda-ks.cfg:文件名

-h:为文件大小添加单位
-a:显示目录下所有文件(包括. .. 和以.开头的隐藏文件)
-A:和-a相同,但是不显示.和..
-R:递归显示目录中的内容(一并显示子目录中的所有内容)
-r:逆序显示目录内容

4、环境变量:内存中的命名空间

--PATH变量 :存放系统命令路径,以冒号隔开
--查看PATH变量的方法:echo $PATH(Linux严格区分大小写)
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
如果在以上路径中没有找到相关命令,提示用户command not found,则该命令为外部命令。
如果一个命令在以上多个路径中存在,系统会按照从前往后的顺序查找,查找到该命令后,后面的路径不管有没有这个命令都不再查找了。

5、hash:查看命令缓存及命中率

hash命令:显示、添加或清除哈希表
linux系统下的hash指令
说明:
linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。
hash表的作用:
大大提高命令的调用速率。
hash的参数
root@redhat ~]# hash  //输入hash或hash -l 可以查看hash表的内容,我刚开机所以为空
hash: hash table empty
[root@redhat ~]# hash -l
hash: hash table empty
当我执行过2条命令后再看:
[root@redhat ~]# hash  //hash表会记录下执行该命令的次数,以及命令的绝对路径
hits command
1 /bin/cat
1 /bin/ls
[root@redhat ~]# hash -l  //加参数-l既可以看到hash表命令的路径,也可以看到它的名字,说不定会有别名哦
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls
[root@redhat ~]# hash -p /bin/ls bb  //添加hash表,可以看到我把ls命令重新写了一遍,改名为bb
[root@redhat ~]# bb    //当我执行bb时就是执行ls命令
anaconda-ks.cfg icmp_echo_ignore_aly~ pub.key
dead.letter icmp_echo_ignore_alz~ rpmbuild
icmp_echo_ignore_all~ install.log RPM-GPG-KEY-useradd
icmp_echo_ignore_alw~ install.log.syslog RPM-GPG-KEY-westos
icmp_echo_ignore_alx~ passwd
[root@redhat ~]# hash -t ls  //-t参数可以查看hash表中命令的路径,要是hash表中没有怎么办?
/bin/ls
[root@redhat ~]# hash -t df  //我没使用过df,执行hash,就会提示找不到该命令
-bash: hash: df: not found
[root@redhat ~]# hash -r  //清楚hash表,清楚的是全部的
[root@redhat ~]# hash -l
hash: hash table empty
[root@redhat ~]# hash -l
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls
[root@redhat ~]# hash -d cat   //清楚其中的某一条
[root@redhat ~]# hash -l
builtin hash -p /bin/ls ls

6、Linux命令的帮助信息man

--针对内部命令(外部命令无法用这个查询语句):help [command]
--针对外部命令(内部命令无法用这个查询语句):[command] --help
man:帮助(命令的使用说明)(查看内部命令时,显示的是bash帮助信息,因为内部命令是集成在bash中)内外部命令都可以查询帮助的命令语句
--语法:man [command]
上下方向键:翻行
enter:向下翻行
pagedown:向下翻页
pageup:向上翻页
/Word:从上往下查找关键字
?Word:从下往上查找关键字
q:退出当前帮助信息

7、man目录说明

1 Executable programs or shell commands可执行程序或shell命令,普通用户命令,一般存放在bin目录下(/bin,/usr/bin,/usr/local/bin)binary二进制
2 System calls (functions provided by the kernel)系统调用库
3 Library calls (functions within program libraries)库调用
4 Special files (usually found in /dev)特殊文件(硬件设备存放在/dev)
5 File formats and conventions eg /etc/passwd查看配置文件格式
6 Games游戏
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)杂项
8 System administration commands (usually only for root)系统管理命令,一般存放在sbin目录下(/sbin,/usr/sbin,/usr/local/sbin)sbin:secret binary
9 Kernel routines [Non standard]
man的使用说明:
--NAME:命令名称及简要用法
--SYNOPSIS:语法格式,可能包括一些选项的使用
--DESCRIPTION:命令和命令选项的详细说明
--EXIT status:退出状态码
--AUTHOR:作者信息
--REPORTING BUGS(BUG):发现BUG时如何反馈信息
--COPYRIGHT:该命令的版权信息
--SEE ALSO:另外参照的帮助信息
--OPTIONS:说明该命令每一个选项的详细用法
--EXAMPLES:命令的使用示例

man书册页目录:/usr/share/doc(工作中主要是查看内核信息)

在某些命令选项参数里可能存在某些特殊符号:
<>:必须使用的选项或者参数,不可以省略
[]:可以省略的选项或参数
...:可以使用多个选项或参数
|:代表多选一
{}:分组,没有特殊意义

info:在线查看帮助,虽然也有一些用法说明,但是更注重于Linux命令的历史或者版权信息

8、cd:change directory(切换目录)

cd:不加选项,返回到当前用户的宿主目录
-:返回到上一次的工作路径
~username:切换到username的宿主目录

pwd:print working directory,打印当前所在目录名字

--which:查看命令所在的路径

--whatis:查看命令所在的帮助信息目录。该命令在系统启动大概七十分钟后会生成whatis的数据库,如果时间太短,该命令不会执行,我们可以使用makewhatis来初始化该命令
[root@localhost ~]# whatis mkdir
mkdir (1) - make directories
mkdir (1p) - make directories
mkdir (2) - create a directory
mkdir (3p) - make a directory
当多个路径存在mkdir时,要查看具体哪个目录下的该命令的意思就可以用man 1 mkdir来查看具体的该命令帮助信息,man 2 mkdir ,前面的序号就是要查找的命令目录


五、Linux根文件系统

1、Linux文件类型

-:普通文件
--纯文本文件(ASCII):配置文件
--二进制文件(binary file):命令
--数据格式文件(data):/var/log/wtmp
d:目录文件
l:链接文件:软链接文件
设备文件:(/dev)
b:block块设备
c:character字符集设备:一次性读取,按顺序读取
s:socket套接字文件:通常用在网络上数据连接: IP:PORT e.g. 192.168.1.1:80
p:管道:特殊的文件类型,解决多个程序同时访问一个文件所造成的错误问题

file:查看Linux中文件类型
语法:file [options] file_name

2、Linux文件名限制

--单个文件或目录的名称不能超过255个字符
--文件名中不能包含特殊字符(/ . - +等)

FHS标准(filesystem hierarchy standard):希望用户可以了解已经安装的程序在哪个目录下

根文件系统(/):rootfs:root filesystem

[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

/bin:二进制,存放命令
/boot:存放启动和内核相关的文件
/dev:存放设备文件
/etc:存放应用程序的配置文件
/home:普通用户的家目录,默认为/home/username
/lib和/lib64:存放系统开机时需要用的函数库以及/bin和/sbin命令调用函数库
--/lib/modules:存放内核相关的模块(驱动程序等)
/media和/mnt:挂载点,/media挂载移动设备,/mnt挂载临时设备
/opt:第三方软件存放目录(用户自行安装的软件存放处),现在一般安装到/usr/local下
/proc:伪文件系统,数据存放在内存中,存放关于进程的相关信息(一旦关机重启这些文件就会消失,因为是存放在内存中不是存储器)
/root:管理员的家目录
/sbin:存放管理员使用的命令,即root用户,普通用户无法使用的命令
/srv:service的缩写,存放服务数据的目录,如可以把www服务的网页放到该目录下
/tmp:存放临时文件,所有用户都可以访问创建文件,但是每个用户只能删除自己的文件
/sys:伪文件系统,存放在内存中,记录内核相关的信息,包括目前加载内核模块和内核检测到的硬件设备等
/usr:UNIX software resource:存放安装的应用程序
--/usr/bin:普通用户使用的命令(和/bin目录的区别:是否与开机有关)
--/usr/sbin:网络服务器命令
--/usr/lib和/usr/lib64:包含各种应用程序函数库
--/usr/share:存放共享文件目录(在线帮助文件,杂项,时区文件等)
--/usr/include:存放头文件
--/usr/src:释放源代码目录
/var:vary的缩写,存放经常变动的文件,比如日志,mail等
--/var/cache:存放应用程序运行时产生的缓存文件
--/var/lib:程序运行时,需要使用的数据文件的存放目录
--/var/lock:设备或资源一次只能被一个应用程序使用,如果多应用程序会产生错误,所以要为设备或资源上锁(存放锁文件)
--/var/log:存放日志目录(系统,用户登录,服务日志等)
--/var/mail:存放个人电子邮件(系统报警产生邮件信息等)
--/var/run:存放应用程序运行时PID文件(进程号.pid结尾)
--/var/spool:存放队列数据,排队等待其他用户程序使用的数据,数据通常使用后会被删除

FHS规定:/etc /bin /dev /lib /sbin五个目录必须要和根目录位于同一文件系统


六、Linux常用命令
基本命令:ls、cd、pwd
学习内容:file、cat、cp、mv、rm、mkdir、touch、tree、which、whereis
文件管理、目录管理、网络管理等

1、file

file:查看文件类型(Windows是用扩展名识别文件类型)
语法:file [options] [file_name]
-b:显示结果时,不显示文件名
-c:显示执行file命令的执行过程(file是如何去判断文件类型),便于排错或分析file命令执行过程
-i:输出MIME类型的字符串
[root@localhost ~]# file -i anaconda-ks.cfg
anaconda-ks.cfg: text/plain; charset=us-ascii
[root@localhost ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
-z:显示压缩文件的内容
-L:查看软链接对应的文件类型
-f:查看文件中文件名的类型

2、cat

cat:一次性查看整个文件
语法:cat [options] [file_name]
从键盘输入创建一个新文件或向现有文件中添加新数据:
--新建新文件:
cat >new_file_name <<EOF //EOF:end of file结束文件的意思
----->文件内容 //从键盘输入
----->文件内容 //从键盘输入
----->EOF //从键盘输入,以结束书写


image.png

--向现有文件中追加数据:
cat >> file_name <<EOF (无论是追加还是写入EOF都是两个尖括号)
----->文件内容
----->文件内容
----->EOF
--把多个文件内容合并到一个文件输出:
cat file1 file2 > file3
e.g: cat /etc/passwd /etc/shadow > /root/user.txt

--options选项说明:
-n:显示文件内容时同时显示行号,包括空行
-b:和-n功能相同,但不包括空行
-s:当文件中有多个空行时,合并为一个空行
-E:在显示内容时,结尾添加$符号


image.png

3、cp

cp:复制文件或目录(copy的简写),cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

语法:cp [options] [ src_file(源文件)] [des_file(目标文件)]

源文件:制定源文件列表。默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用-R选项;

目标文件:指定目标文件。当“源文件”为多个文件时,要求“目标文件”为指定的目录。

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户(当输入cp的时候默认带有-i的属性都会询问,cp=cp -i);
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

4、mv

mv:(move)mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv与cp命令的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

格式: mv [options] [源文件] [目标文件]

参数
--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则强制覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
-t:将多个文件移动到同一个目录(目标目录在前,后面跟文件 mv -t [directory] file1 file2 ...)

5、rm

rm:(remove)rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

格式:rm [options] [文件或目录]

参数:
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。

6、mkdir

mkdir:(make directory)mkdir命令用来创建目录。该命令创建由dirname命令命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。

注意:在创建文件时,不要把所有的文件都存放在主目录中,可以创建子目录,通过它们来更有效地组织文件。最好采用前后一致的命名方式来区分文件和目录。例如,目录名可以以大写字母开头,这样,在目录列表中目录名就出现在前面。

在一个子目录中应包含类型相似或用途相近的文件。例如,应建立一个子目录,它包含所有的数据库文件,另有一个子目录应包含电子表格文件,还有一个子目录应包含文字处理文档,等等。目录也是文件,它们和普通文件一样遵循相同的命名规则,并且利用全路径可以唯一地指定一个目录。

格式: mkdir [options] [目录名]

参数:
-Z:设置安全上下文,当使用SELinux时有效;
-m<目标属性>或--mode<目标属性>建立目录的同时设置目录的权限;
-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
--version 显示版本信息。
-v:显示创建目录的过程

关于mkdir运用的小技巧.PNG

7、touch

touch:创建新文件或者修改文件时间戳;touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。

8、tree

tree:查看目录树(tree = ls -R)
如果命令提示
[root@localhost ~]# tree
bash: tree: 未找到命令...
则运行安装这个命令即可
[root@localhost ~]# yum -y install tree

捕获.PNG

9、which

which:查找命令所在路径

10、whereis

whereis:查看命令所在路径,源代码文件,帮助信息文件所在的位置

-b:只查看文件所在的位置(等同于which命令)
-m:只查看帮助信息所在的位置
-s:只查看源代码所在的位置

11、查找文件命令 :locate

非实时性,根据自己的数据库查找文件,CentOS每天更新一次数据库,安装完locate后,生成/var/lib/mlocate目录,存放数据库

是一种模糊匹配

/var/lib/mlocate/mlocate.db //locate工具的数据库

yum -y install mlocate //安装locate工具
locate file_name
updatedb //更新locate数据库


Linux和Windows中文件内容行尾标记是不同的:

  • Linux中是以$为结尾
  • Windows中是以Enter键结尾

六、查看文本文件内容的命令:cat、more、less、head、tail

1、cat

一次性查看文件内容

2、more

more:可以翻页查看文本文件内容

enter键:向下翻一行
空格键:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+F:向下翻一屏
=:显示当前的行号
V:调用vi编辑器
!command:调用shell执行命令
q:退出

more +num file_name //从num行开始查看文件内容

3、less

less:可以翻页查看文本文件内容

enter键:向下翻一行
空格键:向下翻一屏
pagedown:向下翻一屏
pageup:向上翻一屏
上下方向键:向上/下翻一行

推荐阅读更多精彩内容