终端命令格式
command [-options] [parameter]
说明:
command : 命令名。相应功能的英文单词或单词的缩写
-options : 选项,可用来对命令进行控制,也可以省略
parameter : 传给命令的参数,可以是零个、一个 或者 多个
[] : 代表可选
通配符
常用命令符
-
ls查看目录
===========================================================
ls /home
说明:查询下的是根目录
ls -a # ls --all 的简写 查询所有文件(包含隐藏文件)
说明:前面带.的是隐藏文件,不带的是普通文件。
ls -l #长格式类型查询
结果说明:-文件,d目录,rw权限,x执行 ,连接数,所属用户,所属组,文件大小,最后修改时间,文件名称
ls /home -d
ls -d
说明: 查看目录属性,而不是列出目录
[root@bogon ~]# ls -i # id列
33574996 anaconda-ks.cfg 38967139 dockerImages 3034194 mysql 33574995 original-ks.cfg 35591779 redis 33575003 zookeeper
ll
说明:ll 是ls -ld 缩写
-
mkdir创建目录
===========================================================
mkdir [目录名称] # mkdir test
mkdir -p [一级目录]/[二级目录] # mkdir test/test/test 递归创建目录
-
cd切换目录
===========================================================
是change directory的简写
cd redis/ #切换到当前目录的redis目录下
cd /redis/ #切换到根目录下的redis目录下
-
pwd查找目录当前位置
===========================================================
pwd #查询当前目录
说明:/ 我的根目录 . 当前目录 .. 上一层目录
-
rm删除目录与文件
===========================================================
rm -rf test # 删除目录test
rm 123.txt #删除文件
说明:
-r 删除目录(可以删除递归文件,删除文件夹的时候必须加此参数)
-f 无需确认(可以删除不存在的文件或者文件夹,不会有提示的消息)
rm 命令删除文件后是不可恢复的(也就是说是不会放到垃圾箱的)。
-
cp复制/拷贝
===========================================================
cp -rp redis/ r
说明:-r 复制目录 -p 保持文件属性 -i 覆盖文件前提示
-
mv移动或改名
===========================================================
mv r myDir #改名
mv r /r #移动文字
mv r /my #移动加改名
说明: mv +空格+要修改的文件名+空格+修改成的文件名 -i 覆盖文件前提示
-
touch创建文件
===========================================================
touch 123.txt # 创建文件
touch .123.txt # 创建隐藏文件 已.开头的都是隐藏文件
说明:如果文件不存在,就创建一个空白文件,如果文件已经存在,可以修改文件的末次修改时间。
-
cat查看文件
===========================================================
cat 123.txt #查看文件内容
cat -n 123.txt #显示的内容有行号(所有)
cat -n 123.txt|more #显示的内容有行号 还是分页的
cat -b 123.txt #显示的内容有行号(只是内容有行号)
-
tac反向查看文件
===========================================================
tac 123.txt #反向查看内容
-
more分页
===========================================================
more 123.txt # 分页阅读文件:空格 、f 翻页查询 ; 回车enter 翻一行 ;q退出
-
less分页
===========================================================
less anaconda-ks.cfg # 支持上下所有翻看;pgup 上翻;上箭头 上翻一行;/ 搜索关键词;n next,搜索下一个关键词; q,退出
说明: less 分页 支持向上翻页 支持搜索 /+关键字 n切换到下一个关键字
-
echo命令
===========================================================
echo会在终端显示参数指定的文字。通常会和重定向联合使用
echo hello > a.txt
-
重定向>和>>
===========================================================
linux允许将命令执行结果重定向到一个文件,将本应显示在终端上的内容 输出/追加 到指定文件中
> 表示输出,会覆盖文件原内容
>> 表示追加,将内容追加到已有文件的末尾。
-
管道 |
===========================================================
linux允许将一个命令的输出可以通过管道做为另一个命令的输入;
可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左右分为两端,左端塞东西(写),右边去东西(读)
常用的管道命令有:
more: 分屏显示内容
grep: 在命令执行结果的基础上查询指定的文本
-
ln 链接
===========================================================
ln -s 被链接的源文件 链接文件 # 没有 -s 是创建的硬链接
ls file file_link # 创建硬链接
ls -s file file_link_soft # 创建软链接
说明:
软连接,相当于windows的快捷方式,
硬链接,是一个文件副本,两个文件同步修改,删除其中一个,另一个仍然存在, 两个文件具有相同的 id。
备注:
源文件最好使用绝对路径,不要使用相对路径,这样可以方便移动链接文件后,仍可以正常使用。
-
chmod修改文件目录权限
===========================================================
chmod +/- rwx 文件名|目录名 #修改 增加/减少 文件权限
chmod u+x,g-rw,o=r file #添加文件file的拥有者执行权限,减少拥有组读写权限,其他用户只读权限
chmod 755 file #修改file文件的拥有者权限 、组权限、其他用户权限
r 4 w 2 x 1 + - =
文件 : r 读 w 写 x 执行
目录: r 列表 w 创建、删除内部文件 x 进入
-
chown修改所属者
===========================================================
chown user file # user 用户 file 文件名称
-
chgrp修改所属组
===========================================================
chgrp -R group file # group 组名 file 文件名
-
sudo切换root
===========================================================
sudo # 然后输入密码
su 切换的意思
-
groupadd 添加组
===========================================================
groupadd 组名 #添加组名
cat /etc/group #确认组信息
-
groupdel 删除组
===========================================================
groupdel 组名 #删除组
cat /etc/group #确认组信息
-
user 添加用户
===========================================================
-
find查找搜索
===========================================================
find /etc -name init* -a -type f # find 路径 -name
# -name 搜文件名,通配符 *、?
# -iname 忽略大小写
# -size 按文件大小查找 : +块数, 大于... -块数,小于... 一块等于512字节
# -size +20800 大于20800*512字节
# -size 20800 等于20800*512字节
# -user
# -group 按所有者、所属组查找
# -amin access minutes, 按访问时间查找
# -cmin change, 属性更改
# -mmin modify, 内容修改
# -type f, d, l
# -a and
# -o or
# -exec
# -ok 对查找结果直接执行操作命令
# ... -exec ls -l {} \;
# ... -ok ls -l {} \;
# 需用户确认
1.2.19 locate根据文件库查找文件
===========================================================
根据文件库查找文件
1.2.20 updatedb更新文件库
===========================================================
更新文件库
-
which命令查找,别名
===========================================================
which pwd #查询pwd命令的路径
which ls # 查询命令的目录
1.2.22 whereis命令查找,有文档位置
===========================================================
命令查找,有文档位置
-
grep文件内容查找
===========================================================
grep root /etc/passwd
ls -l /etc |grep ^d
-
man命令
===========================================================
man command
man cp #例如复制的信息
man ls
man services
说明:
此命令是帮助文档,man 是 manual [手册的意思] 的缩写,是linux提供的一个手册,包含了大部分的命令、函数和详细使用说明。内核命令,不能使用 man 文档。使用man打开时,上下翻页、 \查找 、 n下一个、q退出。
1.2.25 whatis命令的简单信息
===========================================================
命令的简单信息
whatis ls
1.2.26 apropos配置文件信息
===========================================================
配置文件信息
apropos services
apropos passwd
-
--help
===========================================================
command --help
cp --help # 列表复制帮助信息
说明:显示 command 命令的帮助信息 。
-
info显示命令帮助文档
===========================================================
info ls # 显示ls命令帮助文档
-
useradd 添加用户
===========================================================
useradd 用户名 # 添加用户
-
usermod 设置用户的主组/附加组
===========================================================
-
passwd 设置用户密码
===========================================================
passwd 用户名 # 设置密码
-
who /whoami 查看当前登录用户列表
============================================================
who # 查看当前登录用户列表
whoami #查看当前登录用户的账号名
1.2.33 uptime
===========================================================
linux连续运行时间
1.2.34 w
===========================================================
系统运行时间,用户数,负载情况
用户的空闲时间,累计cpu时间,单次cpu时间,运行了什么命令
-
gzip压缩
===========================================================
gzip file #压缩,不能压缩目录
gzip -d file.gz #解压缩
1.2.36 gunzip解压缩
===========================================================
解压缩
-
tar打包/解包
===========================================================
tar -zcxf file.tar.gz dir # 压缩目录
tar -zxvf file.tar.gz # 解压缩目录
tar -cxf file.tar dir # 打包tar
tar -xvf file.tar # 解包tar
# -c 创建打包文件
# -v 显示详细信息
# -f 指定文件名
# -z 打包同时压缩 gz
# -j 打包同时压缩 bzip2
# -x 解包
# -z 解压缩
-
zip压缩
===========================================================
zip file.zip file
zip -r dir.zip dir
-
unzip解压
===========================================================
unzip file.zip # 解压文件
-
bzip2(two)
===========================================================
bzip2 file # .bz2 tar -jcvf xxx.tar.bz2 被压缩的文件和路径
# -k 保留源文件
-
bunzip2
===========================================================
bzip2 file.bz2 # 解压缩 tar -jxvf xxx.tar.bz2
# -k 保留压缩文件
# -C 目标路径(目录必须是先创建的) tar -jxvf xxx.tar.bz2 -C path
1.2.42 write写
===========================================================
write username
message... message...
-
1.2.43 wall发送
===========================================================
发送给所有用户
write to all
wall message...
-
ping 测试网络
===========================================================
ping www.baidu.com # 检查当前电脑和百度是否能连接成功
ping -c 2 192.168.50.110 # 检查当前电脑和110这个电脑时候能连接成功 -c 就是ping 几次
ping 127.0.0.1
-
ifconfig查询/配置网卡信息
===========================================================
ifconfig # 查看当地电脑的网卡信息(ip地址)
ifconfig | grep inet # ip地址
网卡 192.168.xx.xx 设置ip
-
ip 查询用户信息
===========================================================
id root # ip [用户名]
1.2.46 ip addr add 192.168.0.193/24 dev wlan0
===========================================================
1.2.47 mail
===========================================================
发送邮件给指定用户
mail user
ctrl + d 保存发送
查看邮件
& 1 查看序号
& h 列表
& d1 删除序号
& q 退出
1.2.48 last列出用户登录信息
===========================================================
列出用户登录信息
1.2.49 lastlog列出所有用户最后登录信息
===========================================================
列出所有用户最后登录信息
-u 502
指定用户id
1.2.50 traceroute数据包到主机间的路径
===========================================================
数据包到主机间的路径
traceroute www.163.com
traceroute 192.168.xx.xxx
traceroute code.tarena.com.cn
1.2.51 netstat显示网络信息
===========================================================
显示网络信息
-t
tcp
-u
utp
-l
监听
-r
路由
-n
ip、端口
-tlun 本机监听的端口
-an 本机所有网络连接
-rn 本机路由表
常用三个参数
1.2.52 setup设置网络
===========================================================
设置网络
1.2.53 service network restart重启网络
===========================================================
重启网络
1.2.54 service iptables stop 关闭防火墙
1.2.55 mount挂载
===========================================================
挂载
-t
文件系统
光盘:iso9660
u盘:ntfs-3g
fat32
mount -t iso9660 /dev/cdrom /mnt/cdrom
1.2.56 umount设备
===========================================================
umount 设备
umount /dev/cdrom
umount /dev/sdb
-
shutdown关机
===========================================================
shutdown -h now #指定时间 -h now 或 -h 20:00
shutdown -r now #重启 -r now 或 -r 20:00
shutdown -c #取消预订的关机命令
说明:日常一定要加 -r 重启 now 是现在的意思
1.2.58 init 0关机
===========================================================
关机
reboot
1.2.59 init 6 重启
===========================================================
重启
1.2.60 系统运行级别
===========================================================
init
0 关机
1 单用户(安全模式)
2 不完全多用户,不含nfs服务
3 完全多用户
4 未分配
5 图形界面
6 重启
1.2.61 runlevel查看级别
===========================================================
查看级别
1.2.62 logout登出(重要)
===========================================================
登出(重要)
1.2.63 Sh脚本命令
===========================================================
Sh startup.sh -- 启动tomcat
1.2.64 vim模式
===========================================================
1.2.64.1 模式
1.命令模式
2.插入模式 i a o
3.编辑模式 :
1.2.64.2 插入模式: esc 退出
a 字符后插入
A 行尾插入
i 字符前插入
I 行首插入
o 下面插入新行
O 上面插入新行
1.2.64.3 编辑模式:
冒号进入
:set nu 显示行号
:set nonu 取消行号
gg 到第一行
G 到最后一行
nG 到第n行
:n 到第n行
$ 移到行尾
0 移到行首
x 删除字符
nx 删除后面n个字符
dd 删行
ndd 删除n行
dG 删当前行到文件末尾
D 删当前字符到行尾
:n1,n2d n1行到n2行删除
yy 复制当前行
nyy 复制当前行向下n行
dd 剪切当前行
ndd 剪切当前行向下n行
p、P 粘贴在当前行上面或下面
r 覆盖单个字符
R 持续覆盖字符,esc退出
u 回退
ctrl+r 重做
/ 搜索指定的字符串
n next
:%s/aaaa/bbbb/g 不询问
:%s/aaaa/bbbb/c 询问确认
全文替换, aaaa 替换成 bbbb
:n1,n2s/aaaa/bbbb/g 不询问
:n1,n2s/aaaa/bbbb/c 询问确认
指定行范围内替换
:set ic 不区分大小写
:set noic 区分大小写
:w 保存
:w filename 另存为
:wq 保存并退出
ZZ 保存并退出,快捷方式
:q
:q! 不保存直接退出
:wq! 对只读文件强行保存并退出(所有者和root可用)
:r \aa\bb
导入bb文件内容
:!命令
不退出vim执行系统命令
:r !命令
导入命令执行结果
:map 自定义快捷键
:map [ctrl+vp] I#<ESC> ctrl+p添加#
:map [ctrl+vb] 0x<ESC> ctrl+b取消#
:n1,n2s/^/#/g 行首添加#
:n1,n2s/^#//g 行首去除#
:n1,n2s/^/\/\//g 行首添加//
:ab omg oh my god!
定义缩写,替换为完整文本
.vimrc
用户目录下 vim 命令配置文件,
可添加快捷键、缩写配置等
1.2.65 rpm
===========================================================
-i
安装
-v
安装信息
-h
安装过程
-nodeps
不检测依赖性
-U
升级
-e
卸载,只写包名
-q
查询是否安装,只写包名
-qa
查询所有
-qi
查询软件信息
-qip
查询未安装包,写包全名
-ql
文件安装位置
-qlp
未安装包文件将会安装的位置
-qf
查询一个文件属于哪个包
-qR
查询包的依赖性
-qRp
查询依赖的未安装的软件包
-V
校验,只写包名
检查软件安装后,是否有文件被修改
8项信息
S 文件大小
M 文件的类型,或权限
5 md5校验值
D 设备的中、从代码是否改变
L 文件路径
U 文件所有者
G 所属组
T 修改时间
文件类型
c 配置文件
d 普通文档
g 鬼文件,应不属于该包
l 授权文件
r 描述文件 readme
rpm2cpio
rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.e16.i686.rpm | cpio -idv . /bin/ls
从指定的包中提取一个文件
www.rpmfind.net
组件信息查询
httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 包名
2.2.15 版本
15 发布次数
e16.centos 适合的linux平台
i686 适合的硬件平台
rpm
1.2.66 yum
===========================================================
rpm 包的在线管理,自动在线下载依赖包和组件
yum list 查询所有可用软件包
yum search 包名
yum -y install 包名
yum -y update 包名 不指定包名,会升级内核,导致系统崩溃
yum -y remove 包名 尽量不执行卸载,否则会删除有用依赖包
yum grouplist
yum groupinstall
yum groupremove
光盘 yum 源
/etc/yum.repos.d/ 目录中其他文件改名,只保留 media
vim 修改 media 文件,改 enabled=1
===========================================================
系统信息相关命令
-
时间和日期
date #查询系统时间 cal #calendar 查询日历,-y 选项可以查看一年的日历
-
磁盘和目录空间
df -h # disk free 显示磁盘剩余空间 du -h[目录名] # disk usage 显示目录下的文件大小
说明: -h 是以人性化的方式显示文件大小
-
进程信息
ps aux # process status 查看进程的详细状态 top # 动态显示运行中的进程并且排序 q退出 kill [-9] # 终止指定代号的进程,-9表示强行终止
说明:a 显示终端上的所有进程,包括其他用户的进程
u 显示进程的详细状态
x 显示没有控制终端的进程(也就是不是终端启动的进程) -
ununtu系统 apt安装/卸载软件
===========================================================
apt是 Advanced Packaging Tool ,是Linux下的一款安装包管理工具
#1.安装软件
apt install 软件包
#2.卸载软件
apt remove 软件名
#3.更新已安装的包
apt upgrade