概要
[root@localhost ~] root代表当前登录用户 localhost主机名 ~当前所在的目录
1. ls 查看文件夹下有什么文件(只显示文件名称)
ls -l /etc/ == ll /etc/ 以长列表的方式显示文件夹下的内容(显示详细信息)
ls -a 显示所有文件(包括隐藏文件)
2. pwd 查看当前所在的路径(位置)
3. cd 进入到某个目录(文件夹)
. 代表当前目录(文件夹)
.. 代表上层目录(文件夹)
~ 代表当前登录用户的家目录
root /root root家目录
oldboy /home/oldboy oldboy的家目录
- 代表上次所在的目录
命令 选项(根据需要,通常都是-或者--) 参数
1)mkdir dir1 #创建文件夹dir1
mkdir dir2 dir3 #创建多个文件夹
mkdir dir{1..4} #创建多个文件夹
mkdir -p /usr/local/data/dir1 #对于路径内不存在的文件夹都会进行创建
2)touch file1.py #创建普通文件file1.py
touch file2 file3 #同时创建多个普通文件
touch file{1,2,3,4} file{1..10} #同时创建多个普通文件
touch /usr/local/data/file1 #使用绝对路径的方式创建普通文件
3)rm /usr/local/data/file1 #删除file1文件,默认只能操作普通文件
-f --force 强制删除
-r 针对文件夹操作
rm -r /usr/local/data #加-r选项才可以删除文件夹,同时删除文件夹下所有文件
rm -rf /usr/local/data #-r -f 强制删除文件夹,不用提示确认
4)cp 原文件 目标文件夹 == copy 复制命令
cp file1 file2 #复制file1文件,并将复制的文件命名为file2
-r 针对文件夹操作
cp -r dir1 dir2 #复制dir1的文件夹,并将复制的文件夹命名为dir2
-v --view 显示执行过程
5)mv 原文件 目标文件夹 move mv对普通文件和文件夹都生效
mv file1 file4 #如果是在相同文件夹下,是重命名的操作
mv file4 /usr/local/ #前后路径不同的情况下,执行了移动的操作
6)hostname #查看当前的主机名称
hostname shuju #修改主机名称(临时生效,重启之后会失效,只有退出当前登录重新登录才生效)
vi /etc/hostname #永久修改主机名称(重启之后才生效)
7)date #查看系统时间
date +%F #查看当前系统日期,通常用于结合定时任务执行脚本,自动生成时间戳命名的文件
date +%T #查看当前系统时间
-s #修改时间
date -s "2020-12-25 11:00:00" #修改当前系统时间为2020-12-25 11:00:00
8)ntpdate #同步时间
yum install ntpdate -y #使用yum方式安装ntpdate服务
ntp1.aliyun.com —— ntp7.aliyun.com
ntpdate ntp1.aliyun.com
vi vim 文件名称 #编辑器
1)命令行模式,复制 粘贴 删除 撤销
2)插入模式 a,i,o 标志:左下角insert,就是对文本内容的编辑
3)末行模式 : w(write保存) q(quit退出) !(强制) set nu
快速定位光标
$ 快速移动到行末
0 快速移动到行首
gg 快速移动到文本的第一行
G 快速移动到文本的最后一行
H 快速移动到屏幕内容的第一行
M 快速移动到屏幕内容的中间一行
L 快速移动到屏幕内容的最后一行
2.文本内容的查看
cat /etc/passwd #查看文本全部内容
more /etc/passwd #多页查看文本内容 空格翻页,回车翻行
less /etc/passwd #多页查看文本内容 空格翻页,回车翻行
head /etc/passwd #默认查看文本的前10行内容
tail /etc/passwd #默认查看文本的后10行内容
tail -100f /var/log/messages #动态查看最后100行日志
3.文件的上传下载
3.1)yum install lrzsz -y
lrzsz 主要用于个人计算机与服务器传输文件,只能传输文件
rz 往服务器上传文件,默认存放的位置在当前所处的位置
sz filename 下载当前文件夹下名称为filename的文件
3.2)yum install wget -y
wget 网络地址 通过网络地址下载文件或者软件包
wget -O 存放位置 网络地址 加-O选项将下载的文件存放到指定位置
3.3)curl 网络地址 通过网络地址下载文件或者软件包
curl -o 文件名 网络地址 加-o选项给下载的文件命名
一、linux文件夹结构
/ 根文件夹
/home /usr /etc
linux使用时常按TAB键(可以自动补全相关的命令以及路径)
linux命令都有一个共同的选项 --help,查看命令以及选项的说明
linux命令
命令 选项 参数
选项 -s --help
三个组成部分需要有空格进行分割,可以使用多个空格
date 查看当前时间
date +%F 查看当前日期
date +%T 查看当前时间
date -s '14:20:30' 修改当前时间为14:20:30
ctrl+c 终止快捷键,终止当前命令行的内容
ctrl+l 清空终端的输出内容
ctrl+a 快速移动当前命令行的行首
ctrl+e 快速移动到当前命令行的行末
ctrl+d 等于执行了exit,退出动作
二、linux文件系统
/etc/ 系统配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件
/etc/resolv.conf 域名解析的配置文件
/etc/hostname 主机名的配置文件
/etc/passwd /etc/shadows 用户相关的文件
/home/user01/ 普通用户的家文件夹
/root/ root用户的家文件夹
/usr/ windows系统c:/windows
/var/ 经常使用的是/var/log 可变的文件夹,可变的临时文件夹
三、绝对路径和相对路径
绝对路径 就是从根文件夹开始的表示方式 /etc/resolv.conf
相对路径 就是从当前路径开始的表示方式 network-scripts/
实际使用中绝对路径是绝对正确的
四、linux常用的命令
4.1 cd /usr 切换到根文件夹下的user文件夹下
. 当前文件夹
.. 上一层文件夹
~ 切换到当前用户的家文件夹
4.2 pwd 查看当前所在位置
4.3 ls 列出当前文件夹下的所有文件以及文件夹
ls -l == ll 长列表的方式显示所有文件的详细信息
ls -a 查看所有文件,包括隐藏文件
ls -d 查看当前文件下的所有文件夹名称(普通文件不显示)
4.4 mkdir /data1 在根文件夹下创建data1文件夹
mkdir data1 在当前文件夹下创建data1文件夹
mkdir -p /data/0316/shuju4/ 遍历当前路径,不存在的文件夹全部进行创建
ls /
ls /data/
mkdir /data/{0315,0314} 可以同时创建0314,0315两个文件夹
4.5 touch /data/test1.py 使用绝对路径在根文件夹的data文件夹下创建test1.py普通文件
touch test2 在当前路径下创建test2的普通文件
touch /data/{test11,test12,test13}.py 在/data文件夹下批量创建test11.py,test12.py,test13.py普通文件
touch /data/test{100..120} 在/data文件夹下批量创建以test开头,后面跟100-120之间的数字,以.py结尾的普通文件
4.6 删除普通文件
rm test2.py 删除普通文件test2.py
rm -f test100.py --force 强制删除(不需要再确认)普通文件test100.py
rm -f test* *是通配符表示批量删除以test开头,后面不管是什么内容的文件,全部进行删除
rm -f test10*.py 批量删除以test10开头,后面一位是随机的,同时以.py结尾的普通文件
删除文件夹
rm -r 0313 删除当前目录下0313文件夹以及文件夹下的所有文件(需要确认删除动作)
rm -rf 0314 强制删除(不需要进行确认)0314文件夹以及文件夹下的所有文件
命令行快捷键
ctrt+l 清屏
ctrl+d 等同于exit
ctrl+c 终止当前操作
ctrl+a 快速移动到行首
ctrl+e 快速移动到行末
ctrl+r 利用关键字搜索历史命令
!$ == (alt+.) 快速调用上调命令的最后一个参数
文件类型
windows .mp4 .txt .bat 以各种扩展名来区分文件类型和用途
linux下面没有扩展名的概念, .py .txt只是便于使用者区分这个文件具体用途
文件类型的区分是通过 ls -l 命令查看到的第一个字母来区分
- 普通文件
d 代表目录(文件夹)
l 链接文件
常见目录
/etc/ 代表所有配件文件存放的目录
/etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件
/etc/hostname 主机名配置文件
/etc/resolv.conf 代表域名解析的配置文件
/usr/ 系统文件存放的位置,另外公司使用规范存放项目的目录/usr/local
/var/ 存放日志的目录
文件和文件夹管理的命令
1. cd /usr/local/ #进入/usr/local/文件夹下
mkdir data #创建data文件夹 #windows右键创建文件夹功能
mkdir -p /usr/local/data/shuju/ #检测该路径上的所有文件夹,不存在的文件夹同时进行创建
2. touch 1.py #创建普通文件 #windows右键创建文本文件
touch data{1..10} #批量创建data1-data10的普通文件
touch /usr/local/1.txt
3. rm 1.txt #删除普通文件 #windows下的右键删除功能
-f #强制删除
-r #递归删除,用于文件夹
rm -f data1 #直接删除data1文件,不用提示确认。
mkdir 1
rm -r 1 #-r选项,递归,删除文件夹以及文件夹下的文件
rm -rf 1 #直接删除1文件夹,不用提示确认。
4. cp 原文件 目标文件 #copy windows的复制功能 #复制文件,不会对原文件产生影响
-r 递归,复制文件夹以及文件夹下的所有文件
-v view 显示执行过程
cp 1.txt /root/ #复制一份1.txt文件,并将复制的文件放到/root/
cp 1.txt /root/2.txt #复制一份1.txt文件,同时将复制的文件放到/root/下。命名为2.txt
mkdir 1
touch 1/1.txt
cp -r 1 /root/ #-r选项处理文件夹,将文件夹以及文件夹下的文件同时复制并将复制的内容放到/root下
cp -r 1 /root/2/ #-r选项处理文件夹,将文件夹以及文件夹下的文件同时复制,放到/root,同时将文件夹命名为2
cp -v 1.txt 111.txt
5. mv 原文件 目标位置 #可以理解为windows下的剪贴功能
1)mv 1.txt /root/ #将1.txt文件移动到/root目录下、
2)touch 11.py #创建11.py的普通文件
mv 11.py 22.py #重命名,将11.py文件重命名为22.py
3) mkdir 1 #创建名为1的文件夹
mv 1 /usr/ #mv移动文件夹不需要加选项
系统命令
1. vi /etc/hostname #永久修改主机名称,需要重启才能生效
2. hostname #查看当前主机名称
hostname shuju3 #修改当前主机名称为shuju3,xshell中需要重新登录才能生效
3. date #查看当前系统时间
date +%F #查看当前日期
date +%T #查看当前时间
date -s '2020-12-23 12:00:00' #修改系统时间
4. ntp时间服务
1)手动安装ntp服务 yum install ntpdate -y
2)timedatectl set-ntp no #手动关闭时间服务
3)timedatectl set-timezone "Asia/Shanghai" #修改时区
4)ntpdate ntp1.aliyun.com #从ntp1.aliyun.com同步时间
文本内容编辑
1)vi vim #编辑器,编辑命令
vi默认安装的,vim需要手动安装 yum install vim -y #使用yum方式安装vim命令
唯一的区别就是vim是高亮显示。
1.1)命令行模式 #进入编辑器之后默认就是命令行模式,主要能完成的动作复制粘贴删除
1.2)插入模式 #对文本内容进行编辑
标志:左下角insert(插入)字样
进入插入模式
第一种:a键 在光标所在位置的后面进行输入
第二种:i键 在光标所在位置的前面进行输入
第三种:o键 在光标所在位置的下一行进行输入
退出插入模式:
按ESC键
1.3)末行模式 #保存内容、退出编辑、显示行号、不区分大小写
进行末行模式
按:键
在:的基础上输入q (quit退出) w(write保存) !q !w (!强制的意思) :set nu
1.4)快速定位光标的快捷键
在光标所在行$ (shift+4) 快速移动到行末
0 快速移动到行首
gg 快速定位到文本的第一行
G 快速定位到文本的最后一行
H 快速定位到屏幕所有行的第一行
L 快速定位到屏幕所有内容的最后一行
M 快速定位到屏幕所有内容的中间一行
1.5)文本内容的复制删除
复制 yy 复制光标所在的行
4yy nyy n代表具体要复制的行数,从光标所在的行开始复制
p 快速粘贴到光标所在的下一行
删除 dd 删除光标所在行的内容
4dd nyy n代表行数,从光标所在的行开始删除
撤销 u 撤销上一步的动作,限于本次进入编辑器所修改的内容
快速匹配内容 /root
文本内容的查看
1)cat /etc/passwd #查看文档全部内容
2)more /var/log/messages #按q键退出查看 #多页查看文档内容,按回车是翻行,按空格是翻页
3)less /var/log/messages #按q键退出查看 #按回车翻行,按空格翻页
4)tail /var/log/messages #默认是查看尾部10行的内容
tail -100 /var/log/messages #-100 查看尾部100行的内容
tail -100f /var/log/messages #动态查看日志末尾100行的内容,通常用于查看日志定位问题
5)head /var/log/messages #默认查看文档前10行内容
head -100 /var/log/messages #-100 查看指定行数的内容
文件管理之查找
find 路径 选项 参数
find #文件查找
1)根据时间查找
-mtime +3 #查找文件内容修改时间是三天以上的文件
-mtime 3 #查找修改时间正好是3天的
-mtime -3 #查找文件内容修改时间是三天以内的
find /var/log -mtime +3 #查找/var/log/所有修改时间在三天以上的文件
2)根据文件名称来查找
-name "file1" #根据file1的文件名称来查找
find /var/log -name "*.log" # *是通配符 #查找/var/log所有名称以.log结尾的文件
3)后续动作
-ls #查找到的文件内容并显示详细信息
-print #默认动作,查找到的文件默认打印文件名称
-delete #将查找到的文件内容进行删除
find /usr/local -name "file*" -print #查找/usr/local下文件名称是file*的文件,并打印名称
find /usr/local -name "file*" -ls #查找/usr/local下文件名称是file*的文件,并显示文件详细信息
find /usr/local -name "file*" -delete #查找/usr/local下文件名称是file*的文件,并删除所有查找到的文件
文件的上传下载
1)lrzsz 个人计算机和服务器进行文件传输的工具
yum install lrzsz -y #yum方式安装lrzsz工具
rz #上传文件,默认上传的是当前所在的文件夹
sz 文件名称 #下载文件,将服务器上的文件下载到本地计算机
2)wget 网络地址 #wget直接在服务器上进行下载
wget -O /usr/local/ 网络地址 #-O指定存放位置,从网络下载文件
3)curl 网络地址 #从网络地址下载文件
输出重定向
0 标准输入
1 标准输出
2 错误输出
> 重定向,以覆盖的方式将内容或者输出重定向到某个文件中
>> 重定向,以添加的方式将内容或者输出写入到文件中
ls -l 1.txt 2>&1 正确输出和错误输出重定向到一个文件内
ls -l 2>2.txt 1>1.txt 把正确的输出内容重定向到1.txt 错误的输出内容重定向到2.txt
文件的打包压缩
打包压缩
打包:把多个文件或者文件夹变成一个文件
压缩:把文件大小比较大的文件经过压缩处理,压缩文件大小
windows zip rar(linux不支持)
linux gzip bzip2 zip
1.tar命令处理gzip以及bzip2格式
1)打包压缩 gzip bzip2
tar 选项 压缩包名称 要压缩的文件
-c create 创建
-v view 显示打包过程
-f file 处理文件
-z gzip格式的压缩
-j bzip2格式的压缩
第一步 打包:tar -cvf etc.tar /etc #将/etc文件夹打包成etc.tar
第二步 压缩:gzip etc.tar #将etc.tar文件进行压缩(压缩比率为1:3)
第一步 打包:tar -cvf etc.tar /etc #将/etc文件夹打包成etc.tar
第二步 压缩:yum install bzip2 -y #yum方式安装bzip2工具
bzip etc.tar #将etc.tar文件压缩成bzip2
直接完成打包压缩两步:
tar -czvf etc.tar.gz /etc/ #将/etc/文件夹直接打包压缩成etc.tar.gz压缩文件
tar -cjvf etc.tar.bz2 /etc/ #将/etc/文件打包压缩成etc.tar.bz2的格式
2)解压
tar -xvf etc.tar.bz2
tar -xvf etc.tar.gz
-C 指定解压的位置
tar -xvf etc.tar.bz2 -C /usr/local/ #将etc.tar.bz2压缩包解压到/usr/local/
2.zip格式压缩包
1)打包压缩
yum install zip unzip -y #安装zip 以及 unzip工具
zip 选项 文件名 文件夹
-r 递归,处理文件夹
-q 默认输出
zip -rq etc.zip /etc/ #-r选项处理文件夹 -q选项不显示执行过程,将/etc/文件夹打包压缩成etc.zip文件
2)解压
unzip 压缩包名称
unzip etc.zip #将etc.zip文件解压到当前目录
系统常用命令
1)查看磁盘信息
df #默认查看单位是字节
df -Th #以MB和GB的方式显示磁盘信息
2)查看内存信息
cat /proc/meminfo #查看记录内存信息的文件
free #查看内存信息,默认以B字节为单位
free -m #以MB为单位显示内存信息
3)查看系统信息
top 第一行:系统运行信息
第二行:系统进程信息
第三行:系统CPU详细信息
第四行:物理内存详细信息
第五行:swap(虚拟内存)详细信息
4)查看系统进程
ps axu #查看系统进程信息
ps axu | grep python #ps axu查看系统进程的所有信息,通过|(管道符)传递给后面grep命令,grep匹配python字符相关的进程信息
kill -9 PID(进程号) #强制终止某个进程
5)后台进程
5.1)nohup 命令 & #将脚本或者命令放到后台运行
5.2)screen
yum install screen -y #以yum方式安装screen命令
screen -R tar #创建或者返回tar名字的screen会话
按ctrl+a ctrl+d 切换出当前的screen窗口
screen -R tar #返回tar名字的screen会话中