Linux命令/shell

136 阅读6分钟

命令

系统工作
名称操作命令其他
echo输出字符串/变量提取值---
date显示/设置系统时间日期date -s ?? 不合法的参数
timedatectl设置系统时间---command not found: timedatectl
reboot重启系统------
poweroff关闭系统------
wget下载网络文件---zsh: command not found: wget
ps查看系统进程状态------
pstree查看树状图进程状态------
top监视进程活动及系统负载等信息-h---
nice调整进程优先级------
pidof查询制定服务进程pid号码值---command not found: pidof
kill终止指定pid服务进程kill -9 2156 // 强制杀死---
killall终止指定名称服务对应全部进程------
系统状态检测
名称操作命令其他
ifconfig获取网卡配置与网络状态等信息---?? 网络信息
uname查看系统内核版本与系统架构信息uname -a // 查看当前完整信息---
uptime查看系统内核版本与系统架构信息---//显示当前系统时、已运行时间、启用终端数量、平均负载值等信息
free显示当前系统内存的使用量信息free -h---
who查看当前登入主机的用户终端信息------
last调区主机被访问记录------
ping查看系统负载信息------
tracepath显示数据包达到目的主机时途中经过的所有路由信息---trancepath: command not found
netstat显示网络连接、路由表、接口状态------
history查看历史------
sosreport收集系统架构信息并输出诊断文档---zsh: command not found: sosrepoort
查找定位文件
名称操作命令其他
tree展示目录结构树状图---zsh: command not found: tree
find----name 名称 / -perm 权限/ -user 匹配所有者 ……---
locate搜索文件位置按照名称------
whereis搜索二进制程序(命令)、源代码、帮助文件对应位置按名称------
which搜索二进制程序(命令)按指定名称------
文件编辑
名称操作命令其他
cat查看较少纯文本文件cat -n 文件名 // 显示行号---
more查看较多纯文本文件------
head查看纯文本前n行head -n 10 tinyDic.txt---
tail查看纯文本后n行/持续刷新最新内容tail -f 文件名 // 持续刷新---
wc统计指定文本的行数、字数、字节数------
stat查看文件具体存储细节和时间等信息------
grep提取文本内容按行操作------
cut提取文本内容按列操作cut -d : -f 1 tinyDic.txt---
diff比较多个文件内容差异diff ---brief 文件名a 文件名b // 确认两个文件是否相同 ~~~diff -c 文件名a 文件名b // 具体不同---
uniq去除文本连续重复的行---??
sort排序文本内容---??
文件目录管理
名称操作命令其他
touch创建空白文本\设置文件时间touch -d "2020-05-04 15:44" l.txt---
mkdir---mkdir -p a/b // 创建出具有嵌套层级---
cp复制三种情况:1、如果目标文件是目录,会把原文件复制到该目录中2、如果目标文件是文件,询问是否覆盖它3、如果目标文件不存在,执行正常复制操作---??
mv剪切或重命名文件---??
rm---------
dd复制或转换文件按照指定大小额个数的数据块------
file查看文件类型------
tar----c 创建压缩文件 ~~~ -x 解开压缩文件---

管道符、重定向、环境变量

输入重定向 文件导入到命令中 输出重定向 输出到屏幕的信息写入指定文件


vim常用命令

名称操作命令其他
yy复制------
dd删除并复制------
p粘贴------
u撤销------
:set nu显示行号:set nonu 不显示行号---
:s/one/two将当前光标所在行第一个one替换成two:s/one/two/g 将当前光标所在行所有one替换成two ~~~ :%s/one/two/g 将全文中所有one替换成two---
:/字符串将文本中从上至下搜索该自符串:?字符串 将文本中从下至上搜索该自符串---
:命令执行该命令------
:整数跳转到该行------

vim参数

名称操作命令其他
$0当前shell脚本名称------
$#对应总共有几个参数------
$*所有位置参数值------
$?显示上一次命令执行返回值------
$1分别对应着第n个位置参数值------

权限命令

用户权限
名称操作命令其他
id显示用户详细信息------
useradd创建用户账户----bash: useradd: command not found
groupadd创建新的用户组----bash: groupadd: command not found
usermod修改用户属性----bash: usermod: command not found
password修改用户密码----bash: password: command not found
userdel删除已有用户账户----bash: userdel: command not found
su---su - root---
文件权限 - 特殊权限(针对某一类用户)
名称操作命令其他
SUID让二进制程序的执行者临时拥有所有者权限(仅对拥有执行权限的二进制程序有效)u+s/u-s// 不要将SUID权限设置到vim、cat、rm上
SGID当对二进制程序进行设置时,能够让执行者临时获取文件所属组的权限/当对目录进行设置时,让目录内新创建的文件自动继承该目录原有用户组名称g+s/g-s---
SBIT保护位/除非是该目录所有者,否则无法删除文件o+t/o-t---
chmod设置文件的一般权限及特殊权限chmod -R o+t linux/---
chown修改文件属性和权限------
文件权限 - 文件隐藏属性(针对某一类用户)
名称操作命令其他
chattr设置文件隐藏权限-h/+[a-z]文件属性// 属性有多个
lsattr查看文件隐藏权限------
文件权限 - 文件访问控制列表(针对某个指定用户进行单独权限控制)
名称操作命令其他
setfacl管理文件ACL权限控制-h// ??属性
getfacl查看文件ACL权限规则-h// ACL权限设置永久生效,需要备份
getfacl -R home > backup.acl
setfacl --restore backup.acl

磁盘管理

名称操作命令其他
mount挂载硬件设备-h---
unmount卸载设备或文件系统------
df查看已挂载磁盘使用情况df -h---
du查看分区或目录所占用的磁盘容量大小-h---
fdisk新建、修改删除磁盘分区-h---

ssh

配置sshd 服务
  1. 客户端主机生成密钥对 ssh-keygen
  2. 客户端主机中生成的公钥文件传送至远程服务器 ssh-copy-id 192.168.10.10
  3. 设置服务器,只允许密钥验证,拒绝传统的密码验证方式(修改配追文件后保存并重启sshd服务进程)
  4. 客户端登陆到服务器
ssh命令
名称操作命令其他
scp把文件从本地复制到远程主机
把远程服务器上的文件下载到本地主机
scp /root/readme.txt 192.168.10.10:/home
scp 192.168.10.10:/etc/redhat-release /root
// 如果想要使用指定用户的身份进行验证,使用用户名@主机地址的参数格式
// scp[参数]远程用户@远程ip地址:远程文件 本地目录