Linux基础命令、快捷键以及Linux高阶技巧总结

Linux基础命令总结

ls [-a -l -h] [文件路径]   -- 显示[目录]结构
cd [文件路径]   -- 切换[目录](./../~)
pwd   -- 当前工作目录(绝对路径)
mkdir [-p] 文件路径   -- 创建[多层级-p]目录(文件夹)
touch 文件路径   -- 创建文件
cat 文件路径   -- 查看文件全部内容(适用于内容较少的文件,内容较多使用 more)
more 文件路径   -- 翻页查看文件内容(按空格翻页,输入q退出翻页)
cp [-r] test1 test2   -- 复制[文件夹-r] test1(被复制) 到 test2(复制到)
mv test1 test2   -- 移动 test1(被移动) 到 test2(移动到)
rm [-r -f] test1 test... testN   -- [强制-f]删除[文件夹-r]test1、test...、testN
which 要查找的命令   -- 查找命令的程序文件
find 起始路径 -name "被查找文件名"   -- 按文件名搜索指定文件(*/test*/*test/*test*)
find 起始路径 -size + | -n[kMG]   -- 按文件大小搜索(大于 | 小于 n[kb/MB/GB])指定文件
grep [-n] 关键字 文件路径   -- 通过关键字过滤文件行并[显示行号-n]
wc [-l -w -c -m] 文件路径   -- 统计文件的[行数-l/单词数-w/字节(bytes)数-c/字符数-m]、文件名等
tail [-f -num] 文件路径   -- 查看[查看尾部多少行-num]内容(默认 [10] 行)并[持续跟踪-f]

|   -- 管道符(将管道符左边命令的结果,作为右边的输入)
eg: 
cat 文件路径 | grep 关键字   -- 通过关键字过滤要查看文件内容的文件行
cat 文件路径 | wc -l   -- 统计要查看文件内容的行数
ls -lh [文件路径] | grep 关键字   -- 通过关键字过滤要查看的目录并以树列表展示(文件大小带单位)
ls -l [文件路径] | wc -l   -- 统计目录(文件)的个数

echo "输出的内容"/`输出内容结果`   -- 在终端显示输出的内容(结果)
>/>>   -- 重定向符(将左侧命令的结果 覆盖写入/追加写入 到重定向符右侧)
eg:
echo "输出的内容" > 文件路径   -- 将输出的内容覆盖写入到文件
echo "输出的内容" >> 文件路径   -- 将输出的内容追加写入到文件
ls [文件路径] >/>> 文件路径   -- 将目录内容覆盖/追加写入到文件

vi/vim 文件路径   -- 进入命令模式(用于编辑文件,vim兼容全部vi功能)
/关键字   -- 搜索关键字(命令模式快捷键)
n   -- 向下搜索
N   -- 向上搜索
[n]dd   -- 删除[n]行(命令模式快捷键)
[n]yy -> p   -- 复制[n]行并粘贴(命令模式快捷键)
u   -- 撤销(命令模式快捷键)
ctrl+r   -- 反向撤销(命令模式快捷键)
0   -- 跳到当前行开头(命令模式快捷键)
$   --跳到当前行结尾(命令模式快捷键)
gg   -- 跳到文件内容首行(命令模式快捷键)
G   -- 跳到文件内容行尾(命令模式快捷键)
d[0/$/gg/G]   -- 删除到[当前行开头/当前行结尾/文件内容首行/文件内容行尾](命令模式快捷键)
i   -- 从命令模式进入到输入模式(当前光标)
a   -- 从命令模式进入到输入模式(当前光标之后)
I   -- 从命令模式进入到输入模式(当前行的开头)
A   -- 从命令模式进入到输入模式(当前行的结尾)
o   -- 从命令模式进入到输入模式(当前光标下一行)
O  -- 从命令模式进入到输入模式(当前光标上一行)
esc   -- 从输入模式返回命令模式
:   -- 从输入模式进入底线命令模式
:wq   -- 保存(w)并退出(q)
:q!   -- 强制退出(更改不会保存)
:set nu   -- 显示行号
:set paste   -- 设置粘贴模式

Linux快捷键总结

ctrl+c   -- 强制停止
ctrl+d   -- 退出或登出(不能用于 vi/vim)
history [| grep 关键字]   -- [根据关键字过滤]并查看历史命令
!历史记录关键字   -- 历史命令从下往上查找并执行匹配到的命令(查找最近的历史命令)
ctrl+r   -- 输入关键字查找比较久远的历史命令(按回车键执行命令,按左/右键可修改命令)
ctrl+a   -- 跳到命令开头
ctrl+e   -- 跳到命令结尾
ctrl+左   -- 向左跳一个单词
ctrl+右   -- 向右跳一个单词
ctrl+l   -- 清空终端内容(或执行 clear 命令)

用户、用户组、权限总结

// root 用户为普通用户授予sudo命令权限
su - root 并输入密码   -- 切换root用户(输入exit或ctrl+d退回普通用户)
1、切换到root用户,执行 visudo 命令(相当于 vi /etc/sudoers)
2、在文件最后添加 USERNAME ALL=(ALL)	NOPASSWD: ALL
3、:wq 保存并退出,返回普通用户即可使用 sudo 命令

// 用户和用户组
groupadd 用户组名   -- 创建用户组
groupdel 用户组名   -- 删除用户组
useradd 用户名 [-g 用户组名] [-d 文件路径]   -- 创建用户到[指定组-g][指定HOME目录-d](默认在/home/用户名)
userdel [-r] 用户名   -- 删除用户并删除[用户的HOME目录]
id [用户名]   -- 查看[用户]信息(默认查询当前用户)
usermod -aG 用户组 用户名   -- 将指定用户加入到指定用户组
getent passwd   -- 查看系统中所有用户(用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash))
getent group   -- 查看系统中所有组(组名称: 组认证(x):组ID)

// 查看目录权限信息
1、输入 ls -l 查看目录信息
2、查看目录前十位字符的含义:([-/d/l][r/-][w/-][x/-][r/-][w/-][x/-][r/-][w/-][x/-][-/d/l]   -- [文件/文件夹/软链接](第一位:目录类型)
[r/-]   -- [读权限/无权限](2-4位:所属用户权限)
[w/-]   -- [写权限/无权限](5-7位:所属用户组权限)
[x/-]   -- [执行权限/无权限](8-10位:其他用户权限)

// 修改权限信息
chmod [-r] 权限值 文件/文件夹   -- 对[文件夹内的全部-r]文件赋予该权限
字母表示权限值:u=r/w/x,g=r/w/x,o=r/w/x
数字表示权限值(r:4,w:2,x:1)
0:无权限,即---
1:x权限,即--x
2:w权限,即-w-
3:wx权限,即-wx
4:r权限,即r--
5:rx权限,即r-x
6:rw权限,即rw-
7:rwx权限,即rwx
eg:751表示 rwx(7) r-x(5) --x(1)

// 修改用户、用户组信息(只适用于root用户)
chown [-r] [用户][:用户组] 文件/文件夹   -- 将[文件夹内的全部-r]文件的所属用户修改为[用户],所属用户组修改为[:用户组]

安装配置软件(服务)

// yum命令(Ubuntu使用的是 apt 命令)
yum [-y] [install/remove/search] 软件名称   -- 是否[自动确认-y][安装/卸载/搜索]软件(需要root权限)

// systemctl 命令
systemctl start/stop/status/enable/disable 服务名   -- 启动/关闭/查看状态/开启开机自启/关闭开机自启 软件服务
系统内置服务有:NetworkManager(主网络服务)、network(副网络服务)、firewalld(防火墙服务)、sshd,ssh服务等

Linux高阶技巧总结

// 软链接(类似于快捷方式)
ln -s 被链接的文件/文件夹 链接去往目的地

// 获取日期
date [-d] [+格式化字符串]   -- 按格式化字符串["+%Y-%m-%d %H:%M:%S"]显示[计算-d]时间
支持计算的时间: year/month/day/hour/minute/second(eg:date -d "+3 month")

// 修改时区
1、使用root权限执行:rm -f /etc/localtime
2、执行 sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
// 自动校准
1、yum -y install ntp   -- 安装ntp程序
2、systemctl start ntpd   -- 启动
3、systemctl enable ntpd   -- 设置开机自启
// 手动校准
使用root权限输入:ntpdate -u ntp.aliyun.com

// 查看IP地址(主要查看ens33网卡)
ip addr / ifconfig(该命令需要安装:yum -y install net-tools)
// 查看主机名
hostname
// 修改主机名
hostnamectl set-hostname 新主机名称
// 配置主机名映射(也叫域名解析)(作用:无需记IP地址,可直接通过主机名找到IP地址)
1、编辑对应的hosts文件(需要以管理员身份运行)
Windows看:C:\Windows\System32\drivers\etc\hosts
Linux看:/etc/hosts
2、在文件最后一行添加:IP地址 主机名称
3、保存并退出
// 在VMware Workstation中配置固定IP
1、打开VMware -> 编辑 -> 虚拟网络编辑器(进行需要的配置)
(1)名称选择VMnet8;
(2)确定子网IP为 192.168.*.0、子网掩码:255.255.255.0;(*表示不固定)
(3)选择NAT模式,点击后方NAT设置;
(4)网关IP设置为:192.168.*.2,点击确定。(*表示不固定)
2、开启虚拟机进入终端->切换root用户运行 vim /etc/sysconfig/network-scripts/ifcfg-ens33 进行编辑
3、文件修改行 :BOOTPROTO="static"
4、文件最后添加4行:
IPADDR="192.168.*.*"   -- 子网IP,最后的*可以随意设置(0~254)值
NETMASK="255.255.255.0"   -- 子网掩码
GATEWAY="192.168.*.2"   -- 网关IP
DNS1="192.168.*.2"  -- DNS1的值和网关相同
5、:wq保存并退出
6、重启网卡:systemctl stop network、systemctl start network(或 systemctl restart network)

// 网络传输
ping [-c num] ip/主机名   -- 检查[num次]指定的网络服务器是否是可联通状态
wget [-b] url   -- 在[后台-b]下载链接(下载记录在wget.log文件)
tail [-f] wget.log   -- 查看并[持续跟踪-f]下载进度
curl [-O] url  -- 向链接发送网络请求或[下载-O]链接

// 端口(作用:通过IP只能锁定计算机,通过端口可以锁定计算机上具体的程序)
nmap IP地址   --查看指定IP的端口占用情况(该命令需要安装:yum -y install nmap)
netstat -anp | grep 端口号   -- 查看指定端口占用情况(该命令需要安装:yum -y install net-tools)

// 进程管理
ps [-e -f] [| grep 关键字]    -- 查看[全部-e]进程信息并[格式化-f][过滤所需要的进程]
kill [-9] 进程ID   -- [强制-9]关闭进程

// 主机状态/磁盘信息监控
top [-p/-d/-c/-n/-b/-i/-u]   -- 查看系统资源占用情况
-p:只显示某个进程信息
-d:设置刷新时间(默认5s)
-c:显示产生进程的完整命令(默认是进程名)
-n:指定刷新次数
-b:以非交互非全屏模式运行,分批次的方式执行top
-i:不显示任何闲置(idle)或无用(zombie)的进程
-u:查找特定用户启动的进程
df [-h]   -- 查看[带单位-h]硬盘空间使用情况
iostat [-x][num1][num2]   -- 通过[刷新间隔num1][刷新次数num2]查看[更多-x]CPU、磁盘相关信息
sar -n DEV num1 num2   -- 通过刷新间隔num1和刷新次数num2查看网络-n和网络接口DEV监控情况

// 查看环境变量
evn [| grep PATH]   -- 查看环境变量[PATH 内容()]
echo $PATH / echo ${PATH}HJBL   -- 输出[获取变量$]PATH的值 / 输出PATH的值并拼接HJBL
// 设置临时环境变量
export key=value   -- 设置临时环境变量 变量名=变量值(通过echo $key查看value)
// 设置永久环境变量
1、输入命令:vim 环境变量配置文件
配置 ~/bashrc 文件   -- 针对当前用户设置永久生效的环境变量
配置 /etc/profile 文件   -- 针对所有用户设置永久生效的环境变量
2、在文件最后一行添加:export key=value
3、:wq保存并退出(通过echo $key查看value)
4、输入命令:source 环境变量配置文件   -- 生效环境变量配置文件
// 设置自定义环境变量
1、创建自定义文件:mkdir 自定义文件夹,cd 自定义文件夹,vim 自定义文件,:wq保存并退出
2、给自定义文件设置权限:chmod 755 自定义文件(运行自定义文件:./自定义文件)
3、输入命令:vim 环境变量配置文件
4、在文件最后一行添加:export PATH=$PATH:自定义文件夹路径($PATH不可省略,否则会覆盖)
5、:wq保存并退出(通过echo $PATH查看PATH值)
6、输入命令:source 环境变量配置文件   -- 生效环境变量配置文件
*** 自定义变量设置完成后输入命令:自定义文件(的名称),即可运行自定义环境变量***

// 命令方式上传、下载文件
yum -y install lrzsz   -- 安装上传、下载命令
sz 文件名   -- 下载文件
rz   -- 显示弹窗,选择需要上传的文件点击确定即可上传
***通过命令方式上传的速度非常慢,大文件建议图形化操作(拖拽)上传***

// tar命令压缩、解压文件
tar [-c -v -x -z -f] 压缩包.tar/压缩包.tar.gz 压缩文件1 ... 压缩文件N [-C 解压路径]
-c:创建压缩文件,用于压缩模式
-v:显示压缩、解压过程,用于查看进度
-x:解压模式
-z:gzip模式(默认是普通的 tarball 格式,如果要使用-z 一般处于选项中第一位)
-f:要创建或要解压的文件(-f 必须在所有选项中的最后一个位置)
-C:选择解压的目的地,用于解压模式
// tar命令常用压缩组合
tar -cvf 压缩包.tar 压缩文件1 ... 压缩文件N   -- 将 [压缩文件1、...、N] 压缩到 [压缩包.tar]tar -zcvf 压缩包.tar.gz 压缩文件1 ... 压缩文件N   -- 以gzip模式进行压缩(压缩后的体积更小)
// tar命令常用解压组合
tar -xvf 压缩包.tar [-C 解压路径]   -- 将 [解压包.tar] 解压到 [解压路径](默认解压到当前目录)
tar -zxvf 压缩包.tar.gz [-C 解压路径]   -- 解压 [解压包.tar.gz] 文件
// zip命令压缩文件
zip [-r] 压缩包.zip 压缩文件[]1 ... 压缩文件[]N   -- 压缩[带文件夹-r]的文件
// unzip命令解压文件
unzip 压缩包.zip [-d 解压路径]   -- 将文件解压到[解压路径-d](若有同名文件会被替换)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值