linux常用命令记录
vim
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y 数字 y | 复制一段(从第几行到第几行) |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d 数字 d | 删除光标(含) 后多少行 |
x | 剪切一个字母, 相当于 del |
X | 剪切一个字母, 相当于 Backspace |
yw | 复制一个词 |
dw | 删除一个词 |
shift+6(^) | 移动到行头 |
shift+4 ($) | 移动到行尾 |
1+shift+g | 移动到页头, 数字 |
shift+g | 移动到页尾 |
数字+shift+g | 移动到目标行 |
在一般模式中可以进行删除、 复制、 粘贴等的动作, 但是却无法编辑文件内容的! 要
等到你按下『i, I, o, O, a, A』 等任何一个字母之后才会进入编辑模式。
注意了! 通常在Linux中, 按下这些按键时, 在画面的左下方会出现『INSERT或
REPLACE』 的字样, 此时才可以进行编辑。 而如果要回到一般模式时, 则必须要按下
『Esc』 这个按键即可退出编辑模式。
编辑模式
按键 | 功能 |
---|---|
i | 当前光标前 |
a | 当前光标后 |
o | 当前光标行的下一行 |
I | 光标所在行最前 |
A | 光标所在行最后 |
O | 当前光标行的上一行 |
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:! | 强制执行 |
/要查找的词 | n 查找下一个, N 往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
:%s/old/new/g | 替换内容 /g 替换匹配到的所有内容 |
:wq | 强制保存退出 |
:q! | 不保存强制退出 |
systemctl
systemctl start|stop|restart|status
服务设置
防火墙设置
查看防火墙服务的状态
[root@hadoop100桌面]#systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。
停止防火墙服务
[root@hadoop100桌面]#systemctl stop firewalld
启动防火墙服务
[root@hadoop100桌面]#systemctl start firewalld
重启防火墙服务
[root@hadoop100桌面]#systemctl restart firewalld
centos6以下
查看防火墙状态
service iptables status
停止防火墙
service iptables stop
启动防火墙
service iptables start
重启防火墙
service iptables restart
永久关闭防火墙
chkconfig iptables off
永久关闭后重启
chkconfig iptables on
开启80端口方法
vim /etc/sysconfig/iptables
加入如下代码
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
保存退出后重启防火墙
service iptables restart
自启配置
systemctllist-unit-files(功能描述:查看服务开机启动状态)
systemctl disable service_name(功能描述:关掉指定服务的自动启动)
systemctl enable service_name(功能描述:开启指定服务的自动启动)
文件目录类
pwd显示当前工作目录的绝对路径
pwd:print working directory 打印工作目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sp4s6NfF-1672658642148)(/
/pwd显示当前工作目录的绝对路径.png)]
cd
参数 | 功能 |
---|---|
cd 绝对路径 | 切换路径 |
cd 相对路径 | 切换路径 |
cd ~或者 cd | 回到自己的家目录 |
cd - | 回到上一次所在目录 |
cd … | 回到当前目录的上一级目录 |
cd -P | 跳转到实际物理路径, 而非快捷方式路径 |
mkdir
mkdir [选项] 要创建的目录
选项 | 功能 |
---|---|
-p | 创建多层目录 |
(1) 创建一个目录
[root@yaokai_centos1003 ~]### mkdir xiyou
[root@yaokai_centos1003 ~]### mkdir xiyou/mingjie
(2) 创建一个多级目录
[root@yaokai_centos1003 ~]### mkdir -p xiyou/dssz/meihouwang
rmdir
rmdir 要删除的空目录
touch
touch 创建空文件
cp
cp [选项] source dest | (功能描述: 复制source文件到dest) |
---|---|
选项 | 功能 |
---|---|
-r | 递归复制整个文件夹 |
强制覆盖不提示的方法: \cp
rm
rm [选项] deleteFile
选项 | 功能 |
---|---|
-r | 递归删除目录中所有内容 |
-f | 强制执行删除操作, 而不提示用于进行确认。 |
-v | 显示指令的详细执行过程 |
mv
-
mv oldNameFile newNameFile (功能描述: 重命名)
-
mv /temp/movefile /targetFolder (功能描述: 移动文件)
cat
查看文件内容, 从第一行开始显示。
cat [选项] 要查看的文件
选项 | 功能描述 |
---|---|
-n | 显示所有行的行号, 包括空行。 |
more
more 要查看的文件
操作 | 功能说明 |
---|---|
空白键 (space) | 代表向下翻一页; |
Enter | 代表向下翻『一行』; |
q | 代表立刻离开 more , 不再显示该文件内容。 |
Ctrl+B | 返回上一屏 |
Ctrl+F | 向下滚动一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less
less 指令用来分屏查看文件内容, 它的功能与 more 指令类似, 但是比 more 指令更加
强大, 支持各种显示终端。 less 指令在显示文件内容时, 并不是一次将整个文件加载之后
才显示, 而是根据显示需要加载内容, 对于显示大型文件具有较高的效率
less 要查看的文件
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页; |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页; |
/字串 | 向下搜寻『字串』 的功能; n: 向下查找; N: 向上查找; |
?字串 | 向上搜寻『字串』 的功能; n: 向上查找; N: 向下查找; |
q | 离开 less 这个程序; |
echo
echo [选项] [输出内容]
-e: 支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\ | 输出\本身 |
\n | 换行符 |
head
head 用于显示文件的开头部分内容, 默认情况下 head 指令显示文件的前 10 行内容
选项 | 功能 |
---|---|
-n<行数> | 指定显示头部内容的行数 |
tail
tail 用于输出文件中尾部的内容, 默认情况下 tail 指令显示文件的后 10 行内容
选项 | 功能 |
---|---|
-n<行数> | 输出文件尾部 n 行内容 |
-f | 显示文件最新追加的内容, 监视文件变化 |
> 输出重定向和 >> 追加
- ls -l > 文件 (功能描述: 列表的内容写入文件 a.txt 中) 覆盖写
cat 文件 1 > 文件 2 (功能描述: 将文件 1 的内容覆盖到文件 2)
- ls -al >> 文件 (功能描述: 列表的内容追加到文件 aa.txt 的末尾)
echo “内容” >> 文件
history
查看已经执行过的历史命令
history -c 清楚命令历史
用户管理命令
useradd
user add 用户名(功能描述:添加新用户)
user add- g 组名 用户名(功能描述:添加新用户到某个组)
passwd
passwd 用户名(功能描述:设置用户密码)
id
id 用户名 查看用户是否存在
cat /etc/passwd 查看创建了哪些用户
su切换用户
su 用户名称(功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
userdel
userdel 用户名(功能描述:删除用户但保存用户主目录)
userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
选项 | 功能 |
---|---|
-r | 删除用户的同时, 删除与用户相关的所有文件。 |
who
(1) whoami (功能描述: 显示自身用户名称)
(2) who am i (功能描述: 显示登录用户的用户名以及登陆时间)
sudo 设置普通用户具有 root 权限
1) 添加 atguigu 用户, 并对其设置密码。
[root@yaokai_centos1003 ~]#useradd atguigu
[root@yaokai_centos1003 ~]#passwd atguigu
2) 修改配置文件
[root@yaokai_centos1003 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件, 找到下面一行(91 行), 在 root 下面添加一行, 如下所示:
#### Allow root to run any commands anywhere
root atguigu | ALL=(ALL) ALL=(ALL) | ALLALL |
---|---|---|
或者配置成采用 sudo 命令时, 不需要输入密码
#### Allow root to run any commands anywhere
root atguigu | ALL=(ALL) ALL=(ALL) | ALLNOPASSWD:ALL |
---|---|---|
修改完毕, 现在可以用 atguigu 帐号登录, 然后用命令 sudo , 即可获得 root 权限进行
操作
usermod
usermod -g 用户组 用户名
选项 | 功能 |
---|---|
-g | 修改用户的初始登录组, 给定的组必须存在。 默认组 id 是 1。 |
groupadd
groupadd 组名
groupdel
groupdel 组名
groupmod
groupmod -n 新组名 老组名
cat /etc/group 查看创建了哪些组
文件权限
如果没有权限, 就会出现减号[ - ]而已。 从左至右用0-9这些数字来表示:
(1) 0 首位表示类型
在Linux中第一个字符代表这个文件是目录、 文件或链接文件等等
- 代表文件
d 代表目录
l 链接文档(link file);
(2) 第1-3位确定属主(该文件的所有者) 拥有该文件的权限。 —User
(3) 第4-6位确定属组(所有者的同组用户) 拥有该文件的权限, —Group
(4) 第7-9位确定其他用户拥有该文件的权限 —Other
rwx 作用文件和目录的不同解释
(1) 作用到文件:
[ r ]代表可读(read): 可以读取, 查看
[ w ]代表可写(write): 可以修改, 但是不代表可以删除该文件, 删除一个文件的前
提条件是对该文件所在的目录有写权限, 才能删除该文件
[ x ]代表可执行(execute):可以被系统执行
(2) 作用到目录:
[ r ]代表可读(read): 可以读取, ls查看目录内容
[ w ]代表可写(write): 可以修改, 目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
chmod
- 第一种方式变更权限
chmod [{ugoa}{±=}{rwx}] 文件或目录
- 第二种方式变更权限
chmod [mode=421 ] [文件或目录]
u:所有者 g:所有组 o:其他人 a:所有人(u、 g、 o 的总和)
r=4 w=2 x=1 | rwx=4+2+1=7 |
---|---|
- 修改文件使其所属组用户具有执行权限
[root@yaokai_centos1003 ~]### chmod g+x houge.txt
- 修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@yaokai_centos1003 ~]### chmod u-x,o+x houge.txt
- 采用数字的方式, 设置文件所有者、 所属组、 其他用户都具有可读可写可执行权
限。
[root@yaokai_centos1003 ~]### chmod 777 houge.txt
- 修改整个文件夹里面的所有文件的所有者、 所属组、 其他用户都具有可读可写可
执行权限。
[root@yaokai_centos1003 ~]### chmod -R 777 xiyou/
chown
chown [选项] [最终用户] [文件或目录] (功能描述: 改变文件或者目录的所有
者)
选项 | 功能 |
---|---|
-R | 递归操作 |
chgrp
chgrp [最终用户组] [文件或目录] (功能描述: 改变文件或者目录的所属组)
搜索查找类
find
find 指令将从指定目录向下递归地遍历其各个子目录, 将满足条件的文件显示在终端
find [搜索范围] [选项]
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件,单位为:b —— 块(512 字节)c —— 字节w —— 字(2 字节)k —— 千字节M —— 兆字节G —— 吉字节 |
locate
locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给
定的文件。 Locate 指令无需遍历整个文件系统, 查询速度较快。 为了保证查询结果的准确
度, 管理员必须定期更新 locate 时刻
locate 搜索文件
由于 locate 指令基于数据库进行查询, 所以第一次运行前, 必须使用 updatedb 指令创
建 locate 数据库
grep
管道符, “|”, 表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法
grep 选项 查找内容 源文件
选项 | 功能 |
---|---|
-n | 显示匹配行及行号。 |
压缩和解压类
gzip/gunzip
gzip 文件 (功能描述: 压缩文件, 只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述: 解压缩文件命令)
(1) 只能压缩文件不能压缩目录
(2) 不保留原来的文件
(3) 同时多个文件会产生多个压缩包
zip/unzip
zip [选项] XXX.zip 将要压缩的内容 (功能描述: 压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述: 解压缩文件)
zip 选项 | 功能 |
---|---|
-r | 压缩目录 |
unzip 选项 | 功能 |
---|---|
-d<目录> | 指定解压后文件的存放目录 |
tar
tar [选项] XXX.tar.gz 将要打包进去的内容 ( 功能描述: 打包目录, 压缩后的文件格式.tar.gz)
选项 | 功能 |
---|---|
-c | 产生.tar 打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar 文件 |
-C | 解压到指定目录 |
压缩目录
tar -zcvf xiyou.tar.gz xiyou/
压缩多个文件
tar -zcvf houma.tar.gz houge.txt bailongma.txt houge.txt
解压到当前目录
tar -zxvf houma.tar.gz
解压到指定目录
tar -zxvf xiyou.tar.gz -C /opt
进程管理类
ps
ps aux | grep xxx (功能描述: 查看系统中所有进程)
ps -ef | grep xxx (功能描述: 可以查看子父进程之间的关系)
选项 | 功能 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程, 包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
kill
kill [选项] 进程号 (功能描述: 通过进程号杀死进程)
killall 进程名称 ( 功能描述: 通过进程名称杀死进程, 也支持通配符, 这在系统因负载过大而变得很慢时很有用)
选项 | 功能 |
---|---|
-9 | 表示强迫进程立即停止 |
netstat
netstat -anp | grep 进程号 | (功能描述: 查看该进程网络信息) |
---|---|
netstat –nlp | grep 端口号 | (功能描述: 查看网络端口号占用情况) |
---|---|
选项 | 功能 |
---|---|
-a | 显示所有正在监听(listen) 和未监听的套接字(socket) |
-n | 拒绝显示别名, 能显示数字的全部转化成数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |
crontab定时任务
crontab [选项]
选项 | 功能 |
---|---|
-e | 编辑 crontab 定时任务 |
-l | 查询 crontab 任务 |
-r | 删除当前用户所有的 crontab 任务 |
项目 | 含义 | 范围 |
---|---|---|
第一个“*” | 一小时当中的第几分钟 | 0-59 |
第二个“*” | 一天当中的第几小时 | 0-23 |
第三个“*” | 一个月当中的第几天 | 1-31 |
第四个“*” | 一年当中的第几月 | 1-12 |
第五个“*” | 一周当中的星期几 | 0-7 ( 0 和 7 都 代 表 星 期日) |
特殊符号 | 含义 |
---|---|
* | 代表任何时间。 比如第一个“ *” 就代表一小时中每分钟都执行一次的意思。 |
, | 代表不连续的时间。 比如“ 0 8,12,16 * * * 命令”, 就代表在每天的 8 点 0 分, 12 点 0 分, 16 点 0 分都执行一次命令 |
- | 代表连续的时间范围。 比如“0 5 * * 1-6 命令”, 代表在周一到周六的凌晨 5 点 0 分执行命令 |
*/n | 代表每隔多久执行一次。 比如“*/10 * * * * 命令”, 代表每隔 10 分钟就执行一遍命令 |
YUM 的常用命令
yum [选项] [参数]
选项 | 功能 |
---|---|
-y | 对所有提问都回答“yes” |
参数 | 功能 |
---|---|
install | 安装 rpm 软件包 |
update | 更新 rpm 软件包 |
check-update | 检查是否有可用的更新 rpm 软件包 |
remove | 删除指定的 rpm 软件包 |
list | 显示软件包信息 |
clean | 清理 yum 过期的缓存 |
deplist | 显示 yum 软件包的所有依赖关系 |
修改网络 YUM 源
默认的系统 YUM 源, 需要连接国外 apache 网站, 网速比较慢, 可以修改关联的网络
YUM 源为国内镜像的网站, 比如网易 163,aliyun 等
1)安装 wget, wget 用来从指定的 URL 下载文件
[root@yaokai_centos1003 ~] yum install wget
2)在/etc/yum.repos.d/目录下, 备份默认的 repos 文件,
[root@yaokai_centos1003 yum.repos.d] pwd
/etc/yum.repos.d
[root@yaokai_centos1003 yum.repos.d] cp CentOS-Base.repo CentOS-Base.repo.backup
3)下载网易 163 或者是 aliyun 的 repos 文件,任选其一, 如图 8-2
[root@yaokai_centos1003 yum.repos.d] wget http://mirrors.aliyun.com/repo/Centos-7.repo //阿里云
[root@yaokai_centos1003 yum.repos.d] wget http://mirrors.163.com/.help/CentOS7-Base-163.repo //网易 163
4) 使用下载好的 repos 文件替换默认的 repos 文件
例如:用 CentOS7-Base-163.repo 替换 CentOS-Base.repo
[root@yaokai_centos1003 yum.repos.d]### mv CentOS7-Base-163.repo CentOS-Base.repo
5) 清理旧缓存数据, 缓存新数据
[root@yaokai_centos1003 yum.repos.d]#yum clean all
[root@yaokai_centos1003 yum.repos.d]#yum makecache
6) 测试
[root@yaokai_centos1003 yum.repos.d]### yum list | grep firefox
[root@yaokai_centos1003 ~]#yum -y install firefox
RPM
rpm -qa (功能描述: 查询所安装的所有 rpm 软件包)
由于软件包比较多, 一般都会采取过滤。 rpm -qa | grep rpm软件包
例:
查询firefox软件安装情况
[root@yaokai_centos1003 Packages]### rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64
RPM 卸载命令
基本语法
(1) rpm -e RPM软件包
(2) rpm -e --nodeps 软件包
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时, 不检查依赖。 这样的话, 那些使用该软件包的软件 |
RPM 安装命令
rpm -ivh RPM 包全名
选项 | 功能 |
---|---|
-i | install, 安装 |
-v | –verbose, 显示详细信息 |
-h | –hash, 进度条 |
epos.d]#yum makecache |
6) 测试
[root@yaokai_centos1003 yum.repos.d]### yum list | grep firefox
[root@yaokai_centos1003 ~]#yum -y install firefox
RPM
rpm -qa (功能描述: 查询所安装的所有 rpm 软件包)
由于软件包比较多, 一般都会采取过滤。 rpm -qa | grep rpm软件包
例:
查询firefox软件安装情况
[root@yaokai_centos1003 Packages]### rpm -qa |grep firefox
firefox-45.0.1-1.el6.centos.x86_64
RPM 卸载命令
基本语法
(1) rpm -e RPM软件包
(2) rpm -e --nodeps 软件包
选项 | 功能 |
---|---|
-e | 卸载软件包 |
–nodeps | 卸载软件时, 不检查依赖。 这样的话, 那些使用该软件包的软件 |
RPM 安装命令
rpm -ivh RPM 包全名
选项 | 功能 |
---|---|
-i | install, 安装 |
-v | –verbose, 显示详细信息 |
-h | –hash, 进度条 |
–nodeps | 安装前不检查依赖 |