Linux

IntYou (^_^)

ls

当前目录下的所有内容(文件或文件夹)

默认目录home-家目录/home/‘username’

  1. 命令参数[-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程序编辑的功能,可以不同颜色的字体来辨别语法的正确性

  1. 命令模式 (Command mode)

    所敲的按键编辑器都理解成命令,此模式下,不能自由进行文本编辑

  2. 输入模式(Insert mode)

    此模式下,可以对文件内容进行自由编辑

  3. 底线命令模式(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文件修改

ubuntu 22.04如何配置静态IP、网关、DNS - 小鲨鱼2018 - 博客园 (cnblogs.com) `

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 进行许可。