linux常用命令速查
前言
本文基于linux发行版CentOS7
1. Linux目录结构
linux
:/user/data/data.txt 无盘符
windows
: E:\user\data\data.txt
2. 路径
相对路径与绝对路径
相对路径
~/Desktop
绝对路径
/home/user/Desktop
特殊路径符
.
: 当前路径
..
: 上级路径
~
: home路径
3. Linux命令入门
命令格式
command [-options] [parameter]
-options:可选
parameter:参数
提示:以下是本篇文章正文内容,下面案例可供参考
一、Linux命令
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
1. 文件类
1.1 列表命令ls
ls
平铺方式列出当前工作目录下内容
ls [-a -l -h] [linux路径]
-a
: 表示all,列出所有文件(包括隐藏)
-l
: 以列表展示,可展示更多信息
-h
:列出文件大小,K,M,G选项可组合,如
-a -l
,-lh
1.2 目录切换cd
cd [linux路径]
若无路径,则回到home
1.3 显示工作目录pwd
pwd
1.4 创建目录 mkdir
mkdir [-p] linux路径
-p
:多层级创建
1.4 创建文件 touch
touch linux路径
1.5 查看文件内容 cat/more
cat Linux路径
more Linux路径
cat:用于查看全部内容
more: 用于分页查看, 空格翻页,q
退出查看
1.6 复制文件/文件夹 cp
cp [-r] 参数1 参数2
-r
:可选,表示递归,可用于文件夹复制
参数1
: 要复制的文件夹或文件路径
参数2
: 目标路径
1.7 移动文件/文件夹 mv
mv 参数1 参数2
参数1
: 要移动的文件夹或文件路径
参数2
: 目标路径,若在同级目录且目标文件不存在则改名
# 使用mv命令重命名
mv test.txt test.data
1.8 删除 rm
rm [-r -f] 参数1 参数2 …… 参数n
-r
: 文件夹删除
-f
: 强制删除,无提示(root用户有提示)
- 可删除多个,也可用
*
通配符
如rm -rf test*
,表示删除当前目录下所有test开头的文件及文件夹- 删库跑路(慎用) : root用户执行
rm -rf /*
1.5 查找命令 which/find
- 查找命令地址
which
which 要查找的命令
查找命令所存放的地址
- 查找文件
find
find 起始路径 -name "被查找文件名" : 可使用通配符
find 起始路径 -size +|-n[kMG] : +大于,-小于
-name
后跟文件名
-size
后跟限制条件,+
表示大于,-
表示小于,n
为数值,k
M
G
为单位
应用举例
find /home -size +1M
# 查找 /home 目录下大于 1MB 的文件
1.6 过滤行grep
grep [-n] 关键字 文件路径
-n
显示行数
1.7 统计wc
wc [-c -m -l -w] 文件路径
-c
字节数-m
字符数-l
行数-w
单词数
1.8 管道符|
|
: 左边结果作为右边的输入,搭配其他命令使用
cat test.txt | grep "hello"
# 先查看文件内容,再过滤出包含hello的行
cat test.txt | grep "hello" | wc -l
# 再上述命令基础上再使用管道 配合wc命令统计行数
1.9 输出echo
echo 输出内容
```````: 反引号内为命令,如
echo \`pwd'
1.10 重定向符>
>>
>
: 覆盖写入文件
>>
: 追加写入文件
1.11 查看文件末尾tail
tail [-f -num] Linux路径
-num
: 具体数字,num行
-f
: 持续跟踪
1.12 软链接 ln
ln -s 被链接 目的地
被链接只能绝对路径
1.13 vi / vim 编辑器
vi 文件路径
vim 文件路径
常用:
i
– 切换到输入模式,在光标当前位置开始输入文本。
x
– 删除当前光标所在处的字符。
:
– 切换到底线命令模式,以在最底一行输入命令。
a
– 进入插入模式,在光标下一个位置开始输入文本。
o
--在当前行的下方插入一个新行,并进入插入模式。
O
– 在当前行的上方插入一个新行,并进入插入模式。
dd
– 删除当前行。
yy
– 复制当前行。
p
– 粘贴剪贴板内容到光标下方。
P
– 粘贴剪贴板内容到光标上方。
u
– 撤销上一次操作。
Ctrl + r
– 重做上一次撤销的操作。
:w
– 保存文件。
:q
– 退出 Vim 编辑器。
:q!
– 强制退出Vim 编辑器,不保存修改。
1.14 解压缩tar
linux 常用压缩包格式
tar
. t a r .tar .tar 简单整合,无压缩gzip
. g z .gz .gz / . t a r . g z .tar.gz .tar.gz
tar [-z -x -v -c -f -C] 参数
-z:gzip模式 # 一般在开头
-c: 创建压缩
-v: 过程
-x: 解压
-f:指定压缩/解压的文件
-C:指定解压的路径 # 一般在最后
常用
tar -cvf test.tar 1.txt 2.txt 3.txt
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
tar -xvf test.tar -C /home/Desktop/
tar -zxvf test.gz -C /home/Desktop/
zip [-r] 参数...
-r: 包含文件夹
unzip 参数1 [-d 参数2]
-d:指定解压路径
2. 账户类
2.1 root用户
su
命令
su [-] [用户名]
-
表示切换后加载环境变量用户名可省略,默认为root
sudo
命令
sudo 其他命令
可以以root权限执行命令
注:需提前配置 ,使用root用户的
visudo
命令编辑/etc/sudoers
文件,
在其末尾添加zhang ALL=(ALL) NOPASSWD:ALL
2.2 用户,用户组
创建组 :
groupadd 用户组名
删除组 :
groupdel 用户组名
创建用户 :
useradd [-g -d] 用户名
- -g:指定用户组,需要已存在
- -d:指定home路径
删除用户 :
userdel [-r] 用户名
- -r : 删除home目录
修改密码:
passwd
查看用户组 :
id [用户名]
无参数则默认当前用户修改用户所属组 :
usermod -aG 用户组 用户名
查看全部用户信息 :
getent passwd
查看全部组 :
getent group
2.3 权限修改 chmod
/ chown
chmod
修改权限
chmod [-R] 权限 文件或文件夹
- -R:对文件夹内的全部内容修改
- 权限 :u=rwx,g=rwx,o=rwx 或 777
chown
修改所有者
chown [-R] [用户][:][用户组] 文件或文件夹
-r
递归修改
3.系统类
3.1 快捷键
- ctrl + c
- ctrl + d
history
- !命令前缀,匹配上一个命令
- ctrl + r 搜索历史命令
- ctrl + a | e ,光标移动至头或尾
- ctrl + ← | → ,光标左移/右移一个单词
- ctrl + L 或 clear ,清屏
3.2 软件安装 yum
CentOS
yum [-y] [ install | remove | search ] 软件名
-y
无提示
Ubuntu
apt [-y] [ install | remove | search ] 软件名
3.3 服务启动 systemctl
可用于系统及第三方服务的启动,第三方需要注册
systemctl start | stop | status | enable | disable 服务名
可开启、停止、查看状态、自启、不自启
系统内置服务 :
- NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd,ssh服务
第三方
- ntp : 服务ntpd
- httpd:httpd
3.4 时间与时区 date
查看时间
date [-d] [+格式] - %Y 年 - %y 年(后两位) - %m 月 - %d 日 - %H 时 - %M 分 - %S 秒 - %s 自1970-现在秒数 -d : 时间计算 如:date -d "+1 day" "+%Y-%m-%d",可选year,month,day,hour,minute,second
时区
rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
时间校准 ntp程序
systemctl start ntpd systemctl enable ntpd 手动校准(root) ntpdate -u ntp.aliyun.com
3.5 ip地址和主机名
127.0.0.1
: 本地回环iphost文件
hostname : 查看主机名 hostnamectl set-hostname 主机名 : 修改主机名
域名解析:通过主机名找到对应计算机IP地址(即主机名映射),先到本机记录找,再联网去DNS服务器找
3.6 网络请求和下载
ping [-c num] ip或主机名 : -c 次数
网络下载:
wget [-b] url : -b 后台下载
发起请求:
curl [-O] url : -O ,可用于下载
3.7 端口
操作系统与外部交互的出入口
- 公认端口 : 1~1023,用于系统内置或常用知名软件绑定
- 注册端口: 1024~49151,用于松散绑定使用(用户自定义口)
- 动态端口: 49152~65535,用于临时使用(多用于出口)
查看端口占用
#map
yum install -y nmap : 安装
nmap ip
#netstat
yum install -y net-tools
netstat -anp | grep 端口号
3.8 进程管理ps
/kill
ps -ef : 查看进程信息
ps -ef | grep 关键字 : 过滤制定关键字进程信息
kill [-9] 进程号 : 关闭进程,-9 表示强制
3.9 主机状态监控top
查看系统资源
top
-p:只显示某个进程
-d:设置刷新时间
-c:显示进程的完整命令
-n:刷新次数
-b:以非交互非全屏运行,配合-n重定向到文件
-i:不显示闲置或无用的进程
-u:查找指定用户启动的进程
交互式按键:
h
帮助,c
完整命令 ,f
选择要展示项,M
根据驻留内存(RES)排序,P
根据CPU排序,T
根据时间排序,E
切换顶部内存单位,e
切换进程内存单位,l
切换显示平均负载和启动时间,i
不显示闲置或无用进程,t
切换显示CPU状态信息,m
切换显示内存信息
磁盘信息监控
df [-h] # -h 内存单位任人性化
查看磁盘速率
iostat num1 num2 # num1 刷新间隔 num2 刷新次数
查看网络情况
sar -n DEV num1 num2 # num1 刷新间隔 num2 刷新次数
3.10 环境变量env
查看当前
env
echo $PATH # path信息
修改环境变量
#临时修改
export PATH=$PATH:路径
#永久修改
#针对用户:在 ~/bashrc 中添加 “export PATH=$PATH:路径”
#针对全部:在 /etc/profile 中添加
最后执行 source 配置文件路径
3.11 linux 文件上传和下载
finalshell 图形化操作
yum -y install lrzsz rz # 上传 sz 文件 # 下载
3.12 远程登录
windows终端连接到linux
ssh -p 22 用户名@主机名
3.13 scp
命令
用于 Linux 之间复制文件和目录
scp test.txt user@ip:/home/user/
二、Shell编程
1. 概述及入门
在脚本文件中首行注明
#!/bin/bash
执行方式
-
bash test.sh
-
chmod +x ./test.sh
#使脚本具有执行权限
./test.sh
#执行脚本 -
source test.sh
/. test.sh
2 变量
系统预定义
常用系统变量
$HOME
$PWD
$SHELL
$USER
查看变量值
echo $变量
显示所有变量
set
自定义变量
变量名=变量值
,无空格撤销变量:
unset
静态变量
readonly
特殊变量
$n
:$0
表示脚本名称,$1
-$9
为1-9的参数,10以上要用{},如${10}
$#
: 获取输入参数个数,可用于循环
$*
:获取所有参数,是一个整体
$@
:获取所有参数,是一个集合,可用于遍历
$?
: 最后一次执行的命令的返回状态,为0则正常
3. 运算符
基本语法
$(())
或$[]
$((1+2)) $[ 1+2 ]
命令替换:
$()
或 ` (反引号)
条件判断
基本语法
test condition
[ condition ]
需要有空格test $a = hello [ $a = hello ]
条件判断
字符串
=
/!=
数值判断
-eq
等于(equal)-ne
不等于(not equal)
-lt
小于(less than)-le
小于等于(less equal)
-gt
大于(greater than)-ge
大于等于(greater equal)文件
-r
有读权限
-w
写权限
-x
执行权限
-e
文件存在
-f
文件存在且是文件
-d
文件存在且是文件夹[ -w hello.sh ] # 表示hello.sh是否可写
多条件判断
&& ||
[ 1 -lt 2] && echo "ok" || echo "not ok"
流程控制
- if
单分支
if [ 条件判断表达式 ]; then command fi # 或者 if [ 条件判断表达式 ] then command fi
多分支
if condition1 then command1 elif condition2 then command2 else commandN fi
如果使用 ((…)) 作为判断语句,大于和小于可以直接使用 > 和 <,如
if (( 1 > 2 )) then ... fi
-
for
for var in item1 item2 ... itemN do command1 command2 ... commandN done
-
while
while condition do command done
无限循环
while true do command done # 或者 while : do command done # 或者 for (( ; ; ))
- until
until condition
do
command
done
- case
case 值 in
模式1)
command1
...
commandN
;;
模式2)
command1
...
commandN
;;
esac
break
跳出
continue
跳出当前
未完待续。。。。。。。
总结
以上就是Linux命令速查所有内容,本文仅仅简单列出了较为常用的命令及其选项,如有特殊需要还请查阅详细命令。