Linux基础命令

本文为简介,详细请参考 菜鸟教程Linux

目录操作

基本结构

/bin: 二进制命令所在的目录
/boot : 系统引导程序所需要的文件目录,引导系统开机
/dev :设备软件目录,磁盘,光驱,
/etc: 系统配置,启动程序
/home:普通用户的家,目录默认数据存放目录
/lib: 启动系统和运行命令所需的共享库文件和内核模块存放
/mnt:临时挂载储存设备的挂载点, /proc:操作系统运行时,进程信息和内核信息存放在这里
/root:Linux超级权限用户root的家目录
/sbin:和管理系统相关的命令,【超级管理员用】
/tmp:临时文件目录,这个目录被当作回收站使用
/usr:用户或系统软件应用程序目录
/var:存放系统日志的目录

切换目录

命令:cd 目录

cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ../ 切换到上一级目录 或者 cd ..
cd ~ 切换到home目录
cd - 切换到上次访问的目录

查看操作

命令:ls [-al]

ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr

命令:tree

先安装 tree组件
yum -y install tree

tree 直接tree列出树形目录

创建目录【增】

命令:mkdir 目录

mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录

删除目录【删】

参考下文文件删除

修改目录【改】

参考下文文件修改

查找目录【查】

参考下文文件查找

文件操作

查看文件

命令

对应英文

作用

cat 文件名(小文件)

concatenate

查看小文件内容

less -N 文件名

less

分屏 显示大文件内容

head -n 文件名

查看文件的前一部分

tail -n 文件名

查看文件的最后部分

grep 关键字 文件名

grep

根据关键词, 搜索文本文件内容

cat命令

通过 cat 会一次显示所有的内容, 适合 查看内容较少 的文本文件

显示文件内容
cat 文件名

显示文件内容(显示行号 包含空行)
cat -n 文件名

显示文件内容(显示行号 排除空行)
cat -b 文件名

less命令

通过 less [参数] 文件名 命令可以用于分屏显示文件内容, 每次只显示一页内容
less 命令适合查看 内容较多 的文本文件

分屏显示文件内容
less -N 文件名

使用 less 的操作键:

操作键

功能

空格键

显示下一屏幕

Enter 键

一次滚动一行

b

回滚一屏

f

向前一屏

q

退出

/word

搜索word字符串

head命令

通过 head 命令查看文档的前几行内容

查看文件的前5行内容

head -n 数字 文件

tail命令

tail命令用来查看文档(日志)的后几行内容

查看文档的最后10行内容
tail -10 文件

动态显示文档的最后内容,一般用来查看日志
tail -f 文件名

使用场景:在开发中当某个服务启动后,需要监控该服务中的相关参数信息时,会查看服务的日志文件信息

创建文件

命令:touch 文件名
示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt

删除操作

删除命令:rm [-rf] 目录

删除文件:

? rm 文件 删除当前目录下的文件

? rm -f 文件 删除当前目录的的文件(不询问)

删除目录:
rm -r aaa 递归删除当前目录下的aaa目录

? rm -rf aaa 递归删除当前目录下的aaa目录(不询问)

全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除

注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包

修改文件

修改文件的内容在后面的vi和vim中会讲,先跳过

这里说mv 和 cp

重命名
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作

剪切
命令:mv 目录名称 目录的新位置
示例:mv /usr/tmp/aaa /usr将/usr/tmp 目录下的aaa目录剪切到 /usr目录下面
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作

拷贝
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归

查找文件

参考下文”查找操作”

压缩文件

tar

打包解包

1
2
3
4
5
6
7
8
9
10
11
打包
将1.txt、2.txt、3.txt 打包成 123.tar文件
tar cvf 123.tar 1.txt 2.txt 3.txt
将有内容的aaa目录 打包成 aaa.tar 文件
tar cvf aaa.tar aaa/

解包
将一个打包后的 分解成 一系列小文件, 分解位置为 当前目录
tar -xvf 打包名.tar ##解压到当前目录下
将一个打包后的 分解成 一系列小文件, 分解位置为 指定目录
tar -xvf 打包名.tar -C 解包路径位置 ## -C 指定目录 解压到指定的目录下

压缩解压

1
2
3
4
5
6
7
8
9
10
11
压缩:
将1.txt、2.txt、3.txt 打包压缩成 123.tar.gz文件(gzip压缩格式)
tar -zcvf 123.tar.gz 1.txt 2.txt 3.txt
将有内容的aaa目录 打包成 aaa.tar.gz 文件(gzip压缩格式)
tar -zcvf aaa.tar.gz aaa/

解压:
解压缩文件(记忆敲门: 至孝潍坊)
tar -zxvf 打包文件.tar.gz
解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目录路径

zip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:
zip -r yasuo.zip abc.txt dir1

解压缩
unzip yasuo.zip

当前目录下有abc1.zip,abc2.zip和abc3.zip,一起解压缩它们:
unzip abc\?.zip
注释:?表示一个字符,如果用*表示任意多个字符。

很大的压缩文件large.zip,不解压缩,看看它里面有什么:
unzip -v large.zip

压缩文件large.zip,验证压缩文件是否完整
unzip -t large.zip

用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录:
unzip -j music.zip

系统服务

待加

查找操作

find

? find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。

? find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

1
2
3
4
5
find . -name "*.log" -ls  在当前目录查找以.log结尾的文件,并显示详细信息。 
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
find . -type d sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件

locate

locate 使用数据库查找。默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。

为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

如果数据库中没有查询的数据,则会报错误!updatedb即可

yum -y install mlocate 如果是精简版CentOS系统需要安装locate命令

1
2
3
updatedb
locate /etc/sh 搜索etc目录下所有以sh开头的文件
locate pwd 查找和pwd相关的所有文件

grep

grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

1
2
3
4
5
6
7
8
9
10
ps -ef  grep sshd 查找指定 ssh 服务进程 
ps -ef grep sshd grep -v grep 查找指定服务进程,排除 gerp 本身
ps -ef grep sshd -c 查找指定进程个数
cat a.txt grep -f b.txt 从文件中读取关键词进行搜索 输出 a.txt 文件中含有从 b.txt 文件中读取出的关键词的内容行
cat a.txt grep -nf b.txt 从文件中读取关键词进行搜索, 显示行号
grep -n 'linux' test.txt 从文件中查找关键词,并显示行号
cat test.txt grep ^u 找出以 u 开头的行内容
cat test.txt grep ^[^u] 输出非 u 开头的行内容
cat test.txt grep hat$ 输出以 hat 结尾的行内容
cat test.txt grep -E "edat" 显示包含 ed 或者 at 字符的内容行

网络操作

权限操作