Linux命令
基础命令
man命令帮助手册命令
man 命令名
touch 命令新建文件命令
touch 文件名
mkdir创建文件目录命令
mkdir 目录名
cat 查看文件命令
cat 文件
more 查看文件命令 可以分页 支持直接跳转
more 文件
head 查看文件头部
-n 行数 显示的行数
-c 字节数
-c -xxx 除了最后x个字节以外的内容
tail 文件尾部
-f 循环读取
-n 显示文件的尾部n行内容
-c 显示字节数
wc 计算文件的行数字节数字数
-l 显示行数
-w 显示字数
-m 显示字符数
-c 显示字节数
-L 显示最长行长度
vi 编辑文件命令
vi 文件 若没有此文件自动生成
进去后 按A进入编辑模式按Esc退出
:wq保存退出
:q!直接退出不保存
vim命令
VIM 是 vi 的升级版本,除了兼容 vi 的所有指令,VIM 还具有一些新的特性,主要体现在:
多级撤销
我们知道在 vi 里,按 u 只能撤消上次命令,而在 VIM 里可以无限制的撤消。
易用性
vi 只能运行于 unix 中,而 VIM 不仅可以运行于 unix,windows ,mac 等多操作平台。
语法加亮
VIM 可以用不同的颜色加亮显示代码。
可视化操作
VIM 不仅可以在终端运行,也可以运行于 x window、 mac os、 windows。
mv 移动文件命令 /重命名文件
mv 文件 目录
-i 移动文件询问是否覆盖文件
-f 覆盖原有文件不提示
-b文件存在时 覆盖前为其创建备份
-u 当源文件比目标文件新,或者目标文件不存在时,才执行此项操作。
mv 原来名字 新的名字
cd 跳转命令
cd 目录地址
cp 复制文件或者目录
cp 文件名 地址
-f 若文件已存在,则直接覆盖
-i 若文件存在,有提醒
-a 通常在复制目录时使用,他保留链接文件属性,并复制目录下所有内容。
- b 覆盖已存在的文件前将目标文件备份
-v 详细显示cp 命令执行的操作过程
删除命令rm
rm -r递归删除
rm-f 忽略不存在目录(如果你删除的目录文件不存在有提示,使用rm -f 不会有) rm -rf结合使用
rm -i (删除前询问是否删除)
find命令 根据给定的路径或条件来查询文件
/ -name *.xxx 查询以.xxx结尾的文件
/etc -size +1k 查询 etc 目录下大于1k的文件
/home -user xxx 指定在hone目录下指定所属用户下的文件
find . 查询当前目录下的所有文件
echo 打印命令
-n 取消换行
-E 取消转义
-e 打开ESC \转义
用户与权限管理命令
groupadd
-r 创建系统账户
-p 为新组使用加密后的密码
groupdel 删除用户组
groupmod 修改
-g ID 组 将组的id改为ID
-n 改名
-o 可以使用重复GID
-p 改密码
tail -n 5 /etc/group 查看用户组
gpasswd
用户组 设置用户组密码
-a 用户 用户组 将用户加到用户组
-d 删除
-A 用户 用户组 将此用户设为管理员
-r删除组密码
useradd创建用户
-m 自动建立用户的登入目录
-g<群组> 指定用户所属的群组
示例
useradd -m -g group1 gz1 创建gz1 用户,用户组为group1
userdel
-r 用户名 将用户的主目录一起删除
usermod
-G xxx newuser1 将newuser1所属附加群组
-g 是修改用户的所属群组
-I newuser newuser1 修改newuser1用户名为newuser
passwd
直接使用修改普通密码
-S 用户名可以查看用户信息
-d 删除指定账户密码
-l 锁定指定账户
-u 解锁
-e 强制下次登录修改口令
-x 时间1 -n 时间2 -i时间3 用户(密码设置有效期时间1,过期时间2必须修改)
-k 过期更新密码
chown 修改某个目录或文件的用户名和用户组
chmod 修改某个目录或文件的访问权限
su
-c ls root (变更账号为root,并在执行ls后退出变为原用户)
root 直接切换用户但是环境还是当前用户
-root 切换用户和环境变量
小权限变大权限要密码,大变小不用
exit退出命令
ln 是为一个文件在另外一个位置建立一个另外的链接
ln [参数] [源文件目录] [目标文件或目录]
-s 软链接
直接用 硬链接
跨主机命令
ssh命令
ssh 用户名@ip地址或域名
ssh -keygen 第一次询问你保存在什么位置 回车 第二次询问密钥保护 回车 第三输入相同密码 回车
查看密钥生成目录文件
cd /root
cd .ssh
ls
有两个文件 id_rsa(私钥文件)id_rsa.pub(公钥文件)
ssh-copy-id 用户@ip地址(再次通过ssh连接root用户不在需要输入密码)
scp
scp 本地文件 用户名@地址 :/目标路径 复制本地文件到远程主机
scp 用户名@地址 :/原路径 本地目标路径 复制远程文件到本地
修改ssh默认端口号
1.修改默认配置文件
切换用户 su root
进入ssh目录 cd /etc/ssh
修改服务端sshd_config配置文件 vim sshd_config
自定义端口不能和现有的端口发生冲突
:wq保存退出
2.设置selinux
运行semanage port -l | grep ssh
进程命令
ps 查看进程命令
-ef 查看所有进程
-aux 包含其他使用者的进程
-ef | grep mysql 搜索mysql进程
-aux --sort=-pcpu | head -11 查看cpu使用率前十,+pcpu升序 -pcpu降序
-aux --sort=-pmem | head -ll 查看内存使用最多的10个进程
-aux | sort -nk 4 -r 降序查看指定列排序
-aux | sort -nk 4 升序
-u root -ef 查看指定用户的进程
-ef | more 分页查看进程
kill 终止进程命令
-l 如果不加信号编号参数 则会列出全部的信号名称
-a 处理当前进程,不限制命令名和进程号的对应关系
-p 指定kill 命令,只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
常用信号
1 终端断线
2 中断
3 退出
15 终止
9 无条件强制终止
18 继续
19 暂停
nohup 命令 在不挂端的情况下执行命令 默认输出一个nohup.out文件
管理主机命令
poweroff
-n 关闭操作系统不执行sync 操作
-w 并不实际关闭系统只是写入/var/log/wtmp中
-d 关闭操作系统时,不将操作写入日志文件/var/log/wtmp中添加相应的记录
-i 关闭操作系统之前关闭所有的网络接口
-h 关闭操作系统之前将系统中所有的硬件设置为备用模式
-f 强制关闭操作系统
shutdown
-a 取消关机
-s 关机
-f强制关闭应用程序
-m 计算机名控制远程计算机
-i 显示远程关机图形用户界面 必须是第一个参数
-l 注销当前用户
-r 关机并重启
-s -t 时间 设置关机倒计时
-h 休眠
reboot命令
-w 模拟重开机
-d 不记录此次重启情况
–no-wall 重启系统前不发送留言
-n 关闭操作系统前不同步硬盘存储介质
-f 强制执行reboot
date时间命令
直接用查看系统日期及时间
+%F 以yyyy-MM-DD格式
+%D 以MM/DD/YY
+%x 以MM/DD/YYYY
+%Y 年份
+%m 月份
+%d 日期
+%a 星期
crontab
-l 查看定时任务
-e 设置定时任务
systemctl status crond.service查看任务状态
systemctl start crond.service 启动
systemctl stop crond.service 关闭
systemctl restart crond.service 重启
which 命令
which which 查看which命令在哪个位置
-a 查找全部内容,而非第一个文件
-n 指定文件名长度指定的长度必须大于或等于所有文件中最长的文件名
-p 与上述参数相同 但是包括文件路径
whereis 展示二进制源文件手册文件的位置
部署命令
tar 是解包打包 命令
-cvf 将文件打为.tar
-xvf 将文件解包
-zcvf 将文件打包并压缩
-zxvf 将tar.gz 解压
-ztvf 查看包内有哪些文件
-rf 包 文件 添加文件
-zxvf 包 目录 解压到指定目录
yum
list 查看已安装
install 包名 安装
remove rpm包 卸载rpm
update rpm 包 更新rpm 包
rpm
rpm -qa | grep 关键字 查询软件
rpm -e [–nodeps] 包名 表示不卸载依赖 卸载软件
rpm -ivh 安装包.rpm 安装软件
rpm -Uvh 安装包.rpm 软件更新
wget 是linux 从web下载文件的命令行工具
-O 其他名称 地址 使用其他名称保存文件
-P 目录 地址 将文件下载到指定目录
-c 断点续传
-b 后台下载
-i 多个下载 可以新建一个txt 将文件地址都写入 -i txt 批量下载
grep 全局搜索正则表达式 并打印出行
cat 文件 | grep ‘xxxxxx’ 匹配此文件有xxxxxx的那一行
‘xxxx’ 模糊匹配
xxx -A1 文件 匹配关键字及下一行
-w ‘xxx’ 精确匹配
cat 文件| grep - v "xxxxxx"反向匹配 ,找没有关键字这一行的
grep xxx 文件| grep xx | grep x 使用管道符连接多个greo ,间接实现多个关键字与关系匹配
grep -E 使用正则表达式
* 代表任意字符{0到多个}
? 代表一个字符
[] 中间为字符组合,仅匹配其中任一一个字符
[a-z]单个小写字母
[A-Z]单个大写字母
sed
sed '' a.txt 对文件什么都不做
sed -n 'p' a.txt 打印每一行,并取消默认输出
sed -n '1p' a.txt 打印第1行
sed -n '2p' a.txt 打印第2行
sed -n '1,5p' a.txt 打印1到5行
sed -n '$p' a.txt 打印最后1行
sed '5chello world' a.txt 替换文件第5行内容
sed 'chello world' a.txt 替换文件所有内容
sed '1,5chello world' a.txt 替换文件1到5号内容为hello world
sed '/^daemon/c888888' a.txt 替换以user01开头的行
sed '1d' a.txt 删除文件第1行
sed '1,5d' a.txt 删除文件1到5行
sed '$d' a.txt 删除文件最后一行
sed '$a99999' a.txt 文件最后一行下面增加内容
sed 'a99999' a.txt 文件每行下面增加内容
sed '5a99999' a.txt 文件第5行下面增加内容
sed '$i99999' a.txt 文件最后一行上一行增加内容
sed 'i99999' a.txt 文件每行上一行增加内容
sed '6i99999' a.txt 文件第6行上一行增加内容
sed '/^adm/ihello' 以adm开头行的上一行插入内容
cut 命令
以冒号为间隔符,仅提取指定文件中第一列的内容
cut -d : -f 1 /etc/passwd
仅提取指定文件中每行的前4个字符
cut -c 1-4 /etc/passwd