一、目录相关命令
1.1、pwd
pwd
显示当前目录的绝对路径
1.2、ls
-a(–all):显示全部文件,包括隐藏文件(以.开头的文件)
-l:长数据串列出,包含文件的属性和权限等。每行列出的信息依次为:可以直接简化为ll
1.3、cd
../
上一级目录
./
当前目录
~/
home目录
1.4、mkdir
创建文件夹
mkdir movies
# 联合创建
mkdir -p video/zhangjiakou
1.5、rmdir
删除文件夹,如果当前想要删除的目录下有文件则会报目录非空的错误
mkdir movies
# 删除当前目录下的文件
mkdir -p video/zhangjiakou
1.6、cp
功能描述:复制目录或文件
-r:recursive,递归复制整个文件夹
将test复制为test.txt,复制时重命名
cp test test.txt
将所有test目录内容复制到test1目录(自动创建test1目录)
cp -r test test1
1.7、rm
rm
删除命令 -f 强制执行 -r递归删除
rm -r
删除目录
rm -rf
永久删除想删除的一切
# 删除所有以.c结尾的文件
rm -f *.c
1.8、mv
将test文件重命名为test.txt
mv test test.txt
将test目录及其里边所有内容移动到test2目录,自动创建test2目录(可以理解为将test文件夹重命名为test2)
mv test/ test2
1.9、Linux目录结构
/
root,存放root用户的相关文件
home,存放普通用户的相关文件
bin,存放常用命令的目录,如vi,su
sbin,要具有一定权限才可以使用命令
mnt,默认挂载光驱和软驱的目录
etc,存放配置的相关文件
var,存放经常变化的文件,如网络连接的sock文件 、日志
boot,存放引导系统启动的相关文件
usr,安装一个软件的默认目录,相当于windows下的program files
proc,这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
srv ,service缩写。该目录存放一些服务启动之后需要提取的数据
sys,这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统
tmp,这个目录是用来存放一些临时文件的
del,类似于windows的设备管理器,把所有的硬件用文件的形式存储
media,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
opt,这是给主机额外安装软件所摆放,如安装oracle数据库就可放到该目录下默认为空。
selinux,selinux是一种安全子系统,它能控制程序只能访问特定文件。
二、文件相关命令
2.1、touch
touch创建新文件,这里要与mkdir区别开,mkdir创建的是目录(文件夹)
touch a.txt
2.2、echo
echo输出字符串或者变量值,还可以讲内容存储到文件
echo 123
# 直接输出123
echo 123 >> a.txt
# 创建a.txt并且将123写入
echo 123 >> a.txt
# 将123写入a.txt,此时是两行123,并未覆盖
2.3、cat
查看文件内容
-A:列出特殊字符而非空白
-b:列出行号,空白行不算行号
-n:列出行号,空白行也会有行号
-v:列出一些看不出来的特殊字符
cat a.txt
2.4、more
功能描述:查看文件内容,一页一页的显示
空格键(space):向下翻一页
enter:向下翻一行
q:退出more,不在显示文件内容
ctrl+f:向下滚动一屏
ctrl+b:返回上一屏
=:输出当前行的行号
:f:输出文件名和当前行号
more a.txt
2.5、tail
查看文件内容,只查看文件末尾几行
-n:末尾几行
-f:follow输出文件修改的内容,用于追踪文件修改
tail -n 2 a.txt
2.6、wc
统计行数字数字节数
-l:lines显示行数
-w:显示单词数
-c:显示字节数
ec -l a.txt
2.7、stat
查看文件的具体存储信息和时间等信息
2.8、file
查看文件类型
2.8、wget
-b:background 后台下载
-P:directory-prefix下载到指定目录
-t:tries 最大尝试次数
-c:continue 断点续传clear
-p:page-requisites下载页面所有内容,包括图片、视频等
-r:recursive 递归下载
wget -b https://www.baidu.com/img/bd_logo1.pngshe
三、查找相关命令
3.1、find
查找文件
-name:按文件名称查找
-user:按文件拥有者查找
-size:根按文件大小查找文件(+n大于,-n小于,n等于)
# 在temp下查找a.txt
find temp/ a.txt
3.2、grep
查找内容
-c:count只输出匹配行的计数
-n:line-number 行数
# 从a.txt中查找123
grep -n 123 a.txt
3.3、which
查找命令
# 查找命令的文件地址,得到结果/home/lovess/anaconda3/bin/conda
which conda
四、打包相关命令
4.1、tar
-c:create生成.tar打包文件
-x:extract解包.tar文件
-v:verbose显示详细信息
-f:file指定压缩后的文件名
-z:打包同时压缩
-C:解压到指定目录
# 将temp下所有内容打包为temp.tar
tar -cvf temp.tar temp/*
# 解打包
tar -xvf temp.tar
# 将temp下所有内容打包并且压缩为temp.tar.gz
tar -czvf temp.tar.gz temp/*
# 解压缩并且解打包
tar -zvxf temp.tar.gz
4.2、zip && unzip
压缩文件和目录,windows和linux通用且可以压缩目录并保留源文件
# 打包并且压缩
zip temp.zip temp
# 解压缩
unzip temp.zip
五、日期命令
5.1、date
格式:(注意区分大小写)
+%Y:显示当前年份
+%m:显示当前月份
+%d:显示当前是哪一天
+%H:显示当前小时
+%M:显示当前分钟
+%S:显示当前秒数
+%Y%m%d:显示当前年月日
“+%Y-%m-%d %H:%M:%S”:显示当前年月日时分秒 (用引号括起来)
# 显示2022年01月
date "+%Y年%m月"
六、进程相关命令
6.1、ps
-a:all 显示现行终端机下的所有程序,包括其他用户的程序(比如多克隆几个会话执行不同命令,也会列出来)
-u:userlist 以用户为主的格式来显示程序状况
-x: 显示所有程序,不以终端机来区分 (前面讲过终端有很多类型,不仅显示当前终端)
项 | 含义 |
---|---|
USER | 进程是由哪个用户产生的 |
PID | 进程ID |
%CPU | 该进程占用CPU的百分比,占用越高,进程越耗费资源 |
%MEM | 该进程占用内存的百分比,占用越高,进程越耗费资源 |
VSZ | 占用虚拟内存的大小,单位KB |
RSS | 占用实际物理内存的大小,单位KB |
TTY | 表示该进程在哪个终端中运行,tty1-tty7代表本地控制台终端(tty1-tty6是本地的字符界面终端,tty7是图形终端),pts/0-255代表虚拟终端 |
STAT | 进程状态,常用状态有:R(运行)、S(睡眠)、T(停止状态)、s(包含子进程)、+(位于后台) |
START | 进程启动时间 |
TIME | 进程执行时间,即占用cpu的运算时间,不是系统时间 |
COMMAND | 产生此进程的命令名 |
# 查找有关于QQ的所有线程 |是管道
ps -aux | grep QQ
6.2、top
-d 秒数:Delay-time,指定top命令每隔几秒更新,默认是3秒。
-i:Idle-process,使top命令不显示任何闲置或者僵死进程
-p:Monitor-PIDs ,通过指定监控进程ID来仅仅监控某个进程的状态
-s:Secure-mode,使top在安全模式运行,去除交互命令所带来的潜在危险
# 查看非僵死进程,两秒钟刷新一次
top -i -d 2
在此界面可以通过如下相应按键进行排序操作
shift+n | 以PID排序 |
---|---|
shift+m | 以内存排序 |
shift+p | 以cpu使用率排序,默认选项 |
q | 退出top |
6.3、kill
只需要记住kill -9
-9:强迫进程立即停止
# 终止pid为20385的进程
kill -9 20385
七、系统状态检测命令
7.1、ifconfig
获取网卡配置和网络状态信息
但是这个命令在我们ubuntu上没有,想要的话还需要装软件包
7.2、netstat
显示整个系统目前网络情况,比如目前的链接、数据包传递数据、路由表内容等
# 这个也需要安装
sudo apt-get install net-tools
7.4、uname
-a:all显示系统完整信息
-s:kernel-name系统内核名称
-n:nodename节点名称
-r:kernel-release内核发行版
-v:kernel-version内核版本
-m:machine硬件名称
-i:hardware-platform硬件平台
-p:processor处理器类型
-o:operating-system操作系统名称
uname
7.5、uptime
查看系统的负载信息,可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指系统在最近1分钟、5分钟、15分钟内的压力情况,负载值越低越好,尽量不要长期超过1,生产环境不要超过5。
7.6、free
-m:megabytes以兆字节显示
-h:human带单位输出
7.7、who
查看当前登入主机的用户终端信息
7.8、last
查看所有的系统登录记录。但是要注意,这些信息是以日志文件保存的,因此黑客可以很容易进行修改,所以不能单纯以该命令来判断是否有黑客入侵。
7.9、history
显示历史执行过的命令
-c:清除所有历史记录,但是.bash_history文件内容不会删除
7.10、 reboot
重启系统,等同于shutdown -r now
7.11、poweroff
关闭系统
7.12、halt
关闭系统,等同于shutdown -h now和poweroff
7.13、shutdown
-h:关机
-r:重启
hh:mm:指定24小时制的小时和分钟后关机
+m:m分钟后关机(+1:默认值,1分钟后关机; +0:now,立刻关机)
# 1分钟后关机并提示所有已登录系统的用户
shutdown -h 1 "this server will shutdown after 1min"