目录
cat(concatenate and display files)
chmod(change the permissions mode of a file)
命令
在Linux终端(命令行)输入的内容被称为命令
命令的标准格式:指令主体(空格) [选项](空格) [操作对象]
一个指令可以包含多个选项
操作对象也可以是多个
文件处理命令
ls(list)
显示文件目录
语法: ls 选项[-ald]
-a 显示所有文件,包含隐藏文件(all)
-l 详细信息显示 ls-l = ll
-d 查看目录属性 (一般与l连用可以查看详细信息)
-h 以可读性较高的形式显示 一般和l连用 ls -lh
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件
查看文件在对应的inode信息:ls -li
cd(change directory)
切换目录
cd / 切换到根目录
cd .. 回到上一级目录
pwd(print working directory)
显示当前所在的工作目录
pwd
mkdir(make directory)
创建新目录
范例: mkdir newdir
创建多层文件夹的时候使用的是 mkdir -p 文件夹/文件夹1
mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错
一次性创建多个目录 mkdir 目录1 目录2 目录3 ….
文件的颜色的含义
1.蓝色代表目录
2.绿色代表可执行文件
3.红色代表压缩文件
4.浅蓝色代表链接文件
5.灰色代表其他文件
6.红色闪烁代表链接文件有问题
7.黄色代表设备文件
8.白色代表一般性文件,如:文本文件、配置文件、源码文件等
touch(touch)
创建空文件
语法: touch newFileName
newFileName可以是一个文件名也可以是一个包含文件路径的文件名
使用touch来同时创建多个文件 touch 文件1 文件2
注意:不能创建多层文件
cp(copy)
复制文件或目录
语法: cp -R [源文件或目录][目的目录]
-R 复制目录
cp [被复制的文档路径] [文档被复制到的路径]
当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,
否则目录将被忽略
复制的时候文件可以重新命名 但是如果非必须 不建议
mv(move)
移动文件 更名
mv [源文件或目录][目的目录]
更名要保证路径一致
mv [原文件名][新文件名]
rm(remove)
删除文件或目录
-f
:强制模式,不提示确认即删除文件或目录。
-i
:交互模式,删除文件或目录前询问是否确认。
-r
:递归模式,删除目录及其下所有文件和子目录。
-v
:详细模式,显示删除的每个文件或目录名。
语法: rm -rf [文件或目录]
cat(concatenate and display files)
显示文件内容
cat > [文件名]
内容
执行命令输入内容后 ctrl+d 保存退出
cat -n [文件名] 显示行码
cat [文件名] 显示单个文件内容
cat [文件名] [文件名]... 显示多个文件内容
cat [文件名] > [文件名] 将一个文件内容拷贝到另一个文件
cat [文件名] [文件名] [文件名] > [文件名] 将多个文件拷贝到另一个文件
用cat来读非常大的文件可通过 | more 来翻页
语法: cat [文件名] | more
| less来从前往后读,不是按页走的
less命令 可以更加随意地浏览文件,而且 less 在查看之前不会加载整个文件
more
分页显示文件内容
语法: more [文件名]
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
Q 或 q 退出
head 和 tail
head 查看文件的前几行
head -num [文件名]
-num: 显示的前num行
tail 与之相反
wc(word count)
统计文本的行数,字数,字符数
语法: wc -mwl [文件名]
-m 统计文本的字符数
-w 统计空格字数
-l 统计文本行数
ln(link)
产生连接文件
硬连接 (hard)
修改原始文件后,硬链接的文件内容也会改变
删除原始文件后,硬链接仍然存在
[root@localhost abc]# ln file1.txt file3.txt
[root@localhost abc]# ls -li file1.txt file3.txt
266 -rw-r--r--. 2 root root 13 Oct 17 03:58 file1.txt
266 -rw-r--r--. 2 root root 13 Oct 17 03:58 file3.txt
[root@localhost abc]# cat file1.txt
我是file1
[root@localhost abc]# cat file3.txt
我是file1
[root@localhost abc]# vim file1.txt
[root@localhost abc]# cat file3.txt
我是file1
我修改i了
ls -li file1.txt file3.txt
这将显示 file1.txt 和 file3.txt 的 inode 号码和文件大小。可以看到它们的 inode 号码相同,说明它们是同一个文件的硬链接
软链接(-s soft)
也叫符号链接 与硬链接的不同在于删除原始文件之后访问软连接文件会返回错误信息
文件搜索命令
find
查找文件或目录
语法: find [搜索路径] [选择项] [搜寻关键字]
-type 按文件类型搜索
-name 按文件名搜索
-maxdepth 指定搜索深度
-size 按文件大小搜索
-atime、 mtime、 ctime 天
-amin、 mmin、 cmin 分钟
常用类型搜索文件类型:
d: 目录文件
– 常规文件,即file, 文本文件,二进制文件、图片等常见文件
l symbolic link 即符号链接文件,又称软链接文件
find ./ -type d
find ./ -name "file1"
find ./ -maxdepth 1 -name "*.c"
find ./ -size +1k -size -3k
find ./ -mtime -2
将 find 搜索的结果集执行某一指定命令
在当前目录及子目录下,查找名字为 .c 结尾的文件并将文件以 ls -lh 显示
find ./ -name '*.c' -exec ls -lh {} \;
以交互式的方式将 find 搜索的结果集执行某一指定命令
在当前目录及子目录下,查找名字为 .sh 结尾的文件并交互式将文件以 ls -l 显示
find ./ -name "*.sh" -ok ls -l {} \;
grep
在文件中搜寻字符串匹配的行并输出
语法:grep [指定字串] [源文件]
-i aaa不区分大小写aaa
-v aaa排除关键字aaa
-w aaa 完全匹配aaa关键字
压缩解压命令
GUN zip
压缩文件
语法:gzip 选项 [文件]
压缩后文件格式: .gz
gunzip(GUN unzip)
解压缩 .gz 的压缩文件
语法:gunzip 选项 [压缩文件]
tar
语法:tar 选项[zcvf] [压缩文件的名字] [目录]
tar -zcvf nginx.tar.gz ./
-c 产生.tar打包文件
-v 显示详细信息
-z 打包同时压缩
-f 指定压缩后的文件名
解压缩语法 tar -zxvf [指定的压缩文件] -C [目的目录]
-x 解压.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
压缩后文件格式: .tar.gz
指定文件夹 -C
tar -zxvf 压文件的名字 -C 指定的目录
zip
功能描述:压缩文件或目录
语法:zip 选项[-r][压缩后文件名称][文件或目录]
-r 压缩目录
压缩后文件格式: .zip
unzip
功能描述:解压.zip的压缩文件
语法:unzip [压缩文件]
范例:$ unzip test.zip
bzip2
功能描述:压缩文件
语法:bzip2 选项-k
-k 产生压缩文件后保留原文件
压缩后文件格式: .bz2
bunzip2
功能描述:解压缩文件
语法:bunzip2 选项-k
-k 解压缩文件后保留原文件
权限管理命令
chmod(change the permissions mode of a file)
改变文件或目录权限
如图所示 :
abc.txt修改前后权限分布为
-rw-r--r--
所有者 = rw = 4+2+1 = 7
所属组 = r- = 4
其他人 = r- = 4-rwxrwxrwx
所有者 = rwx = 4+2+1 = 7
所属组 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5
权限为三位二进制数组成
111
110
101
011
100
010
001
u
:表示所有者。
g
:表示所属组。
o
:表示其他用户。
a
:表示所有用户。
r
:表示读权限。
w
:表示写权限。
x
:表示执行权限。
+
:表示增加权限。
-
:表示减少权限。
=
:表示赋予指定权限。
-R
递归处理目录下的所有文件和子目录
帮助命令
whoami 当前登录人
man(manual)
获得帮助信息
语法:man [命令或配置文件]
-f:查看命令拥有哪个级别的帮助
-k:查看和命令相关的所有帮助
范例:$ man ls
info(information)
获得帮助信息
语法:info[任何关键字]
范例:$ info ls
whatis(search the whatis database for strings)
获得索引的简短说明信息
语法:whatis apropos[任何关键字]
范例:$ whatis ls
$ apropos fstab 相当于 man -k
### makewhatis
建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是数据库没有建立
rpm(Redhat Package Manager)命令
中文译为红帽软件包管理器,其功能是用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作。
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合"-l"参数使用;
-d:只列出文本文件,本参数需配合"-l"参数使用;
-e<套件档>或--erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或--hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或--install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-l"参数使用;
-U<套件档>或--upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
安装
rpm -ivh xxx.rpm # 直接安装
rpmrpm --force -ivh xxx.rpm # 忽略报错,强制安装
卸载
[root@localhost ~]# rpm -ql tree # 查询
[root@localhost ~]# rpm -e tree # 卸载
[root@localhost ~]# rpm -ql tree # 查询
列出所有安装过的包
[root@localhost ~]# rpm -qa
如何获得某个软件包的文件全名
[root@localhost ~]# rpm -q tree
rpm包中的文件安装的位置
[root@localhost ~]# rpm -ql tree
哪个软件包包含这个程序
[root@localhost ~]#rpm -qf `程序名` #返回软件包的全名
[root@localhost ~]#rpm -qif `程序名` #返回软件包的有关信息
[root@localhost ~]#rpm -qlf `程序名` #返回软件包的文件列表
[root@localhost ~]# rpm -qf `shd`
输出重定向
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
>:覆盖输出,会覆盖掉原先的文件内容
>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
语法:#正常执行的指令 > / >> 文件的路径
注意:文件可以不存在,不存在则新建
ps -ef 指令(重点)
指令:ps
作用:主要是查看服务器的进程信息
选项含义:
-e:等价于“-A”,表示列出全部的进程
-f:显示全部的列(显示全字段)