Linux

ls
当前目录下的所有内容(文件或文件夹)
默认目录home-家目录/home/‘username’
命令参数[-a -l -h]
ls 目录 -查找目录下所有内容
-a-all 显示所有当前目录下所有内容(包括隐藏内容.)
-l-list 以列表方式加创建时间和权限组显示所有当前目录下所有内容
选项可以复合-al同时应用两类功能
-h 和-l混合使用 将内容容量以可读方式显示1KB,1MB等
cd
切换工作目录Change Directory
cd [Linux路径] 无参数直接切换
不指定路径,直接回到home目录
pwd
Print Work Directory
直接使用pwd打印当前工作目录路径 显示/home/xxx
绝对路径
以根目录为起点,写出一个路径,以/为起点
相对路径
以当前目录为起点,写一个路径,不需要写/
特殊路径符
. 表示当前目录,比如 cd ./Desktop表示切换到当前目录下的Desktop目录内
.. 表示切换到上一级的某个目录
~ 表示HOME目录,比如cd ~即可退回HOME
mkdir
Make Directroy
创建目录,可以使用相对路径和绝对路径
makdir [-p] 路径
-p表示自动创建不存在的父目录
ctrl+l and clear
清空屏幕
touch
创建文件
touch 路径
cat
查看文件内内容(全部打印)
cat 路径
more
查看文件内内容(可翻页–more–)
more 路径
退出翻页查看(键盘q)
cp
copy
复制文件和文件夹
cp [-r] 参数1 参数2
-r 用于复制文件夹用,不输入即复制文件
参数1 表示被复制文件路径
参数2 表示要复制去的路径
scp
服务器之间传递文件
scp [-r] 参数1 参数2
-r 用于复制文件夹
参数 本机路径或远程目标路径
scp -r /export/server/jdk root@node2:/export/server/
将本机上的jdk文件夹,以root身份复制到node2的指定路径中
mv
move
移动文件夹和文件,改名
mv 参数1 参数2
参数与cp同
rm
remove
rm [-r -f] 参数1——n
删除文件和文件夹
-r 用于删除文件夹
-f 表示force 强制删除(不会弹出提示确认信息)
- 普通用户不会弹出,root用户会弹出
参数表示要删除的文件或文件夹路径空格隔开,可一起删除
通配符*
匹配任意内容
test* 匹配任何test开头的内容
*test * 匹配任何包含test的内容
*test 匹配test结尾的内容
rm -rf /* 强制删除根目录下所有内容
which
查看命令的程序文件的路径
which [命令]
find
搜索指定文件
find 起始路径 -name ‘查找文件名’
root用户全盘搜索
find 起始路径 -size +|-n [kMG]
+,-表示大于和小于
n表示大小数字
kMG表示大小单位
find / -size -10k
grep
从文件中通过关键字过滤文件行
grep [-n] ’关键字‘ 文件路径
wc
统计文件的行数
wc [-c -m -l -w] 文件路径(不加参数,显示行数,单词数,字节数,文件名)
-c 统计bytes数
-m 统计字符数
-l 统计行数
-w 统计单词数
管道符(|)
将管道符左边的结果,作为右边的输入
cat test.txt | grep x
ls -lh /usr | wc -l
cat test.txt | grep x | grep xx
echo
在命令行中输出指定内容
echo ‘输出的内容’
echo ``(反引号内输入命令) 输出命令结果
重定向符
[>] 将左侧命令的结果,覆盖写入到符号右侧
- echo ‘hello’ > test.txt
[>>] 将左侧命令的结果,追加写入符号右侧
- ls / > test.txt
tail
可以查看文件尾部内容,跟踪文件最新更改
tail [-f -num] 路径
-f 表示持续跟踪
-num 表示查看尾部多少行,不填默认10行
- tail -5 test.txt
vi/vim
Linux中最经典的文本编辑器
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性
命令模式 (Command mode)
所敲的按键编辑器都理解成命令,此模式下,不能自由进行文本编辑
输入模式(Insert mode)
此模式下,可以对文件内容进行自由编辑
底线命令模式(Last line mode)
以:开始,通常用于文件的保存和退出
vim 文件路径
如果文件存在打开,不存在则创建
从命令模式点击i进入输入模式
从输入模式使用esc退回命令模式
命令模式下按:进入底线命令模式
- wq w保存 q退出
命令模式命令
$移动到行结尾
0移动到行开头
/进入搜索模式
n向下搜索
N向上搜索
yy复制当前行
p粘贴
dd删除当前行
ndd删除当前行和下面的n行
u撤销修改
ctrl+r反向撤销修改
gg跳到首行
G跳到最后一行
dG从当前行向下全部删除
dgg向上全部删除
d$从光标开始删除到本行行尾
d0从光标开始删除到本行行首
底线命令模式命令
:wq 保存退出
:q! 强制退出
:set nu 显示行号
:set paste设置粘贴模式
root(超级管理员)
拥有最大的系统操作权限
su
su - 默认切换root
su-root 密码 切换root管理员(-是为了在登录时加载环境变量)
exit 回退
root管理员切换其他账号不要密码
sudo
临时以root身份执行命令
sudo 其他命令
只有认证的用户才能使用
为普通用户配置认证
切换到root用户,执行visudo命令打开/etc/sudoers
在文件最后添加:
intyou ALL=(ALL) NOPASSWD:ALL
用户,用户组
以下命令使用root用户执行
用户组管理
groupadd 用户组名 创建用户组
groupdel 用户组名 删除用户组
用户管理(Ubuntu)
useradd [-g -d] 用户名
-g 指定用户的组,不指定,会创建同名组并自动加入,指定组需要已存在, 如已知存在同名组,必须使用-g
-d指定用户HOME路径, 不指定, HOME目录默认在: /home/用户名
-m创建家目录
userdel [-r] 用户名
- -r 删除用户的HOME目录,不使用, HOME目录保留
id 用户名
- 查看用户的用户组
usermod -aG
将指定用户加入指定用户组
getent
getent passwd 查看当前系统中有哪些用户
getent group 查看当前系统中有哪些用户组
认知权限信息
ls -l 输出的信息分析
drwxr-xr-x intyou intyou
drwxr-xr-x - 表示权限管控细节
-代表无
第一块 ‘-‘表示文件 ‘d’表示文件夹 ‘l’表示软链接
除去第一块:
前三块代表所属用户权限
中三块代表所属用户组权限
后三块代表其他用户权限
r 读权限
w写权限
x执行权限
chmod
修改文件,文件夹的权限信息
只有文件文件夹的所属用户或root用户可以修改
chmod [-R] 权限 文件和文件夹
- -R 对文件夹内的全部内容应用同样的操作
chomd u=rwx,g=rx,o=x hello.txt
将文件权限修改为rwxr-x–x
u表示所属用户权限,g表示group组权限,o表示other其他用户权限
快捷方式
权限的数字序号
权限可以用三位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户权限
命令从右到左依次增加
0:— 1:–x 2:-w-3:-wx 4:r– 5:r-x 6:rw- 7:rwx
chown
只能root用户执行
修改文件和文件夹的所属用户和用户组
chown [-R] [用户] [:] [用户组] 文件或文件夹
chown root hello.txt 将hello.txt所属用户修改为root
chown :root hello.txt 将hello.txt所属用户组修改为root
小技巧
ctrl+c 强制停止
ctrl+d 退出或登录
- 不能用于退出vi/vim
历史命令搜索
history
history | grep ‘xxx’
!命令前缀 自动执行上一次匹配前缀的命令
python
!p
ctrl+r 输入内容去匹配历史命令
centos 下载包
yum
yum [-y] [install | remove | search] 软件名称
-y 自动确定, 无需手动确认安装或卸载过程
install 安装
remove 卸载
search 搜索
yum命令需要root指令
ubuntu下载包
apt
apt [-y] [install | remove | search] 软件名称
与centos相同
systemctl
控制软件(内置或第三方)启动,停止,开机自启
systemctl start | stop | status | enable | disable 服务名
enable/disable 打开、关闭开机自启
软链接
ln
在系统中创建软链接,可以将文件和文件夹链接到其他位置(快捷方式)
ln -s 参数1 参数2
-s 创建软链接
参数1 被链接的文件或文件夹
参数2 要链接去的目的地
ln -s /etc/yum.conf ~/yum.conf
date
date [-d] [+格式化字符串]
-d 按照给定的字符串显示日期,一般用于日期计算
支持 year month day hour minute second
date -d ‘+1 day’ ‘+%Y-%m-%d’
格式化字符串
%Y 年
%y 年份后两位数字(00,99)
%m 月份
%d 日
%H 小时
%M 分钟
%S 秒
%s 自1970-01-01 00:00:00 到现在的秒数
date ‘+%Y-%m-%d %H:%M:%S’
修改linux时区(东八区)
root权限
rm -f /etc/localtime
sudo ln -s /user/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp程序
联网自动校准系统时间
需要使用apt下载
使用systemctl enable ntp 开机自启
手动校准 ntpdate -u ntp.aliyun.com
ifconfig
查看ip信息
hostname
查看主机名
- hostname set-hostname 名字 修改主机名
在linux中固定ip地址
在ubuntu22.04中应找到/etc/netplan中的yaml文件修改
ping
检测指定网络服务器是否可联通状态
ping [-c num] ip或主机名
-c 检查的次数 不使用,将无限次
wget
可以在命令行内下载网络文件
wget [-b] url
-b 后台下载
参数: url 下载链接
不管成功下载或者不成功,都会创建文件
curl
可以发送网络请求 下载文件 获取网站状态
curl [-O] url
-O 用于下载文件,当url是下载链接时,可以使用此选项保存文件
端口
查看端口占用
netstat
需要apt安装
netstat -anp|grep 端口号
nmap
需要apt安装
nmap 端口
进程
查看进程
ps [-e -f]
-e 显示全部的进程
-f 已完全格式化的形式展示信息
固定用法ps -ef 列出全部进程的全部信息
例: ps -ef | grep tail
关闭进程
kill [-9] 进程ID
-9 表示强制关闭进程
查看系统占用
top 查看cpu占用
第一行: 命令名称 当前系统时间 up 6 min: 启动了6分钟 2users: 2个用户登录 load average: 0.06 0.17 0.13 1 5 15分钟负载
第二行: Task 进程数 running: 正在运行进程数 sleeping: 进程睡眠数 stopped停止进程数 zombie 僵尸进程数
第三行: %cpu cpu使用率 us 用户cpu使用率 sy 系统cpu使用率 ni高优先级进程占用cpu时间百分比 id空闲cpu率 wa IO等待cpu占用率 hi cpu硬件中断率 si CPU软件中断率 st 强制等待占用cpu率
第四行: kib Mem 物理内存 total总量 free空闲 used 使用 buff/cache buff和cache占用 kibSwap 虚拟内存(交换空间)
选项:
交互式选项:
磁盘信息监控
查看硬盘使用情况
df [-h]
- -h 以更加人性化的单位显示
iostat [-x] [num1][num2]
需要下载包
-x 显示更多信息
num1 数字 刷新时间,num2 数字 刷新几次
tps 该设备每秒的传输次数,’一次传输’=’一次I/O请求’。多个逻辑请求可能会被合并为”一次I/O请求”
rKB/s 每秒发送到设备的读取请求数 wKB/s 每秒发送到设备的写入请求数 %util 磁盘利用率
网络状态监控
sar -n DEV num1 num2
需要下载包
-n 查看网络
DEV 查看网络接口
环境变量
简化程序执行路径
env 查看当前系统中记录的环境变量
$符号
$获取变量的值
echo $PATH
echo ${PATH}ABC
自行设置环境变量
临时设置 export 变量名 = 变量值
永久生效
针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
针对所有用户生效, 配置在系统的: /etc/profile文件中
并通过语法: source 配置文件, 进行立刻生效
自定义环境变量PATH
export PATH=$PATH: 路径
压缩、解压
.tar .gz
gzip体积压缩格式.tar.gz
tar [-c -v -x -f -z -C] 参数1—n
-c 创建压缩文件
-v 显示压缩,解压过程
-x 解压模式
-f 要创建的文件,或要解压的文件,必须在所有选项中处于最后一个
-z gzip模式 不使用就是普通tarball格式 一般处于第一个
-C 选择解压的目的地, 单独使用
压缩:
tar -cvf test.tar 1.txt 2.txt
将1.txt 2.txt压缩到test.tar
解压:
tar -xvf test.tar -C 解压路径
将test.tar 解压到解压路径
.zip
压缩:
zip [-r] 参数1—n
- 被压缩的包含文件夹的时候
解压:
unzip [-d] 参数
- -d 指定解压路径
- 标题: Linux
- 作者: IntYou
- 创建于: 2023-03-20 19:55:22
- 更新于: 2023-03-22 21:03:04
- 链接: https://intyou.netlify.app/2023/03/20/Linux/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。