文章目录
Linux基础命令
一、Linux 目录结构
二、Linux 基本命令
1、pwd
显示当前工作目录
pwd [选项] [文件或目录]
2、ls
可列出目录的内容,包括子目录和文件的名称
ls [选项] [文件或目录]
选项:
- -l :每列仅显示一个文件或目录名称
- -a 或 --all :当前目录下所有文件和目录
- -i 或 --inode :显示文件和目录的 inode 编号-
文件或目录
- 指定的目录或文件,如果没有这一项,默认当前目录
ls -l 以列的方式显示
ls -a 显示所有包括隐藏目录
ls -a /bin 显示/bin下的所有文件
3、cd
在不同的目录间切换,但该用户必须拥有足够的权限进入目标目录
cd [选项] [文件或目录]
选项
- 无
文件或目录
- 绝对路径:一定由根目录 / 写起
- 相对路径:相对于某一路径,其中 **.代表当前目录,…**代表上一级目录
- ~:表示家目录(home)
cd /etc 到根目录下的 etc 目录
cd .. 到上一级目录
cd ~ 到当前用户的家目录
4、uname
会显示出关于系统的重要信息,如内核名称、主机名、内核版本、处理机类型等
uname [选项] [文件或目录]
选项
- -r :内核版本
- -n :主机名
- -a :所有信息
文件或目录
- 无
uname -r 内核版本
uname -n 主机名
uname -a 显示所有系统重要信息
5、文件管理
(1)touch
可更改文件或目录的日期时间,包括存取时间和更改时间,如果文件不存在,则创建文件
touch [选项] [文件或目录]
选项
- -t :使用指定的时间,而非现在的时间
文件或目录
- 要改变的文件的路径
touch file 改变file文件的时间
touch -t1801311839 指定时间改变
(2)mkdir
创建目录
mkdir [选项] [文件或目录]
选项
- -p :递归创建目录,嵌套目录
文件或目录
- 根目录的路径
注意:
- 文件名大小写敏感,不可超过255字符,不可以使用 / ,建议不要使用~ \ < > ( ) $ * ? " ’
mkdir aa 创建一个aa目录
mkdir -p aa/bb/cc 创建一个嵌套的目录
(3)cp
将文件和目录从一个目录拷贝到另一个 目录
cp [选项] [源文件或目录] [目标文件或目录]
选项
- -i :在拷贝过程中询问是否要拷贝
- -f :在拷贝过程中不询问,直接拷贝
- -r :拷贝目录中的所有文件和目录
文件或目录
- 源文件或目录 :指的是需要拷贝哪个文件的路径
- 目标文件或目录 :指的是把源文件拷贝到哪里的路径
cp/aa/home/king 将根目录下的aa拷贝到home下的king中
(4)rmdir
删除空的文件目录
rmdir [选项] [目录]
选项
- -p :删除指定目录上的所有目录
文件或目录
- 要删除的文件目录的路径
rmdir /aa 删除根目录下aa空目录
(5)rm
删除文件或目录,执行rm 指令可删除文件或目录,如果想删除目录,则必须加上参数“-r”,否则只会删除文件
rm [选项] [文件或目录]
选项
- -i :删除是询问是否要删除
- -f :删除时不询问直接删除
- -r :递归删除目录下的所有文件或目录
文件或目录
- 所要删除的文件或目录的路径
rm file 删除文件file
rm -r /aa 删除aa目录下的所有文件或目录
(6)mv
可移动文件或目录,或是更改文件或目录的名称
mv [选项] [源文件或目录] [目标文件或目录]
选项
- -i :在移动时有覆盖时,询问是否要覆盖
- -f :在移动时有覆盖时,不询问直接覆盖
文件或目录
- 源文件或目录:要移动或更名的文件或目录
- 目标文件或目录:如果有不是当前路径的路径,就是要移动,如果是当前路径下,就是更名
6、tar
用来打包或解包,压缩或是解压缩的一个命令,常常用作备份文件使用,或是将许多文件打成一个压缩包
tar [选项] [目标包名] [源文件或目录]
选项
- -c :创建一个包
- -t : 查看包里的文件
- -r :将文件追加到包中
- -x :将包 解包
- -z :将打包的文件用 gzip 格式压缩
- -v :显示过程
- -f :定义目标包
目标包名
- 要打成的包名
源文件或目录名
- 哪些文件要被打成包
tar -cf xxx.tar /aa 将aa 打成 xxx.tar 包
tar -tf xxx.tar 在不解包的情况下查看里面的文件或目录
tar -rf xxx.tar bb 将bb文件追加到xxx.tar包中
tar -xf xxx.tar 将xxx.tar中的文件解包
tar -czvf xxx.tar.gz /aaa bb 将/aaa bb 文件 打包压缩为 xxx.tar.gz
tar -xzvf xxx.tar.gz 将 xxx.tar.gz解包解压到当前目录下
7、帮助查询
(1)man手册
是 Linux 下的帮助指令,通过man指令可以查看Linux中的指令帮助,配置文件帮助和编程帮助等信息
man [选项] 命令名
选项
- -a :在所有的man帮助手中搜索
- -f :等价于 whatis 指令,显示给定关键字的尖端描述信息
man ls 通过man手册查看ls
man -f ls 简要的查看ls的作用
(2)find
- 在指定目录下查找文件
- 任何位于参数之前的字符串,都被视为想要查找的目录名
- 如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并显示所查到的子目录和文件
find [查找的路径] [选项] [参数]
选项
- -name :按名称查找
- -iname :忽略大小写
- -type :文件分类查找
- -maxdepth :从当前目录开始搜索的深度(也就是子目录的嵌套)
选项
- 用双引号引起来
参数
- f(表示普通文件),c, d, l, b ,s ,p 这些文件类型
find.-name "*.txt" 在当前文件夹下查找以.txt结尾的文件
find.-name "*.txt" -o -name "*pdf" 在当前目录下查找以.txt结尾的或以.pdf结尾的文件
find.iname "AA" 忽略大小写查找AA文件
find . -type f 在当前文件夹下查找普通文件
find . -type d 在当前目录下查找目录
find . -maxdepth 3 -type f 当前目录开始深度为3层的所有普通文件
(3)文件类型分类
-
表示普通文件,包括纯文本文件、二进制文件、数据格式文件
-
c
字符设备文件,即一些串行端口的接口文件,如键盘鼠标等
-
p
管道文件(FIFO)也是一种特殊的文件类型,他主要的目的解决多个程序同时访问一个文件所造成的错误问题,first-in-first-out
-
l
链接文件
-
b
块设备文件,即一些存储文件,如硬盘、软盘等
-
d
目录
-
s
套接字 还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过数据接口文件来进行数据通信
(4)date(显示日期)
- 打印不同格式的时间或日期,以及要根据时间和日期执行操作
- 也可以使用命令设置固定的格式
- 在Linux系统中,日期被存储为一个整数,1970年1月1日0时0分0秒起流逝的秒数
date [选项] [参数]
选项
- -d<字符串>:显示字符串所指的日期与时间,字符串前后必须加上双引号
- -s<字符串>:根据字符串来设置日期与时间,字符串前后必须加上双引号
- -u:显示GMT(世界时间)
date +"%Y-%m-%d %H-%M-%S" 格式化显示时间
date -s "20180523 00:20:00" 设置时间
(5)cal(显示日历)
显示日历,可以按照指定的年份月份来显示,还可以显示当年中的第几天
cal [选项] [月份] [年份]
选项
- -s: 显示星期天为一个星期的第一天,默认的格式
- -m : 显示星期一为一个星期的第一天
- -j : 显示在当年中的第几天
月份:1-12
年份:1-9999
cal 显示当年当月的日历
cal 8 2017 显示2017年8月的日历
cal -j 8 2017 显示8月的是当年的第几天
(6)du(文件大小)
对文件和目录磁盘使用的空间的查看
du [选项] [参数]
选项:
- -s 仅显示总计,只列出最后加总的值。
- -h 以K,M,G为单位,提高信息的可读性。
参数:
- 目录或文件
du kk 查看kk文件的大小
(7)ln(连接)
ln命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
ln [选项] [参数]
选项:
- -s:创建软连接
参数:
- 源文件:指定要连接的文件
- 目标文件:指定源文件要连接的文件
ln -s kk /lnkk 将kk文件做一个软连接到/lnkk
8、操作系统负载查看
uptime :命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
free : 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区
空闲内存:available = free + buffer(缓冲) + cache(缓存)
mpstat :CPU核状态
ifstat : 网卡网络状态
df :查看磁盘的使用率