Linux && Unix
Linux族 | 版本号 |
---|---|
Ubuntu | 18.04.3 |
CentOS | |
RedHat |
Unix族 | 版本号 |
---|---|
MacOS Mojave | 10.14.6 |
预定想法
- 总结Linux相关命令与操作,希望能掌握相关技术
- 该文章旨在总结命令与编辑操作知识,并做后期查阅
- 区别各个版本Linux的区别,了解Linux生态
Linux & Unix命令与操作
类别 | 命令 | 意义 | e.g. | 效果 |
---|---|---|---|---|
ENV | cat /etc/shells | 查看可使用的shell | $ cat /etc/shells | [文件打印] |
$SHELL | 当前的shell | $ echo $SHELL | /bin/bash | |
$0 | 当前的shell(部分shell支持) | $ echo $0 | -bash | |
chsh | 修改查看shell | $ chsh -l $ chsh -s /bin/bash | [当前可用的shell] [修改自己的shell为bash] | |
bash | 启动一个bash | $ bash | 启动bash一个进程 | |
IO | echo | 在终端输出 | $ echo abc | abc |
cat | 打印文件内容 | $ cat /etc/passwd | [文件内容] | |
ls | 列出文件夹下内容 | $ ls -l /etc | [文件夹内容] | |
vim | 使用vim编辑器 | $ vim test.cpp | [创建并编辑test.txt文件] | |
nano | 使用nano编辑器 | $ nano test.txt | [创建并编辑test.txt文件] | |
USER | groups | 列出有效用户组 | $ groups | [有效用户组] |
newgrp | 切换有效用户组 | $ newgrp users | [切换到users用户组] | |
passwd | 设置用户密码(默认自己) | $ passwd [username] | 设置用户密码 | |
chown | 更改文件所有者与所有组 | $ chown -R [group]:[user] [dir] | 修改文件夹下所有文件所有者及所有组 | |
chmod | 更改文件权限 | $ chmod 744 [file] | 更改文件属性为rwxr--r-- | |
finger | 显示用户相关信息 | $ finger [user] | [Login Name Directory...] | |
chfn | 修改finger信息 | $ chfn | 输入密码后直接修改 | |
id | UID/GID相关信息 | $ id [user] | [UID GID group...] | |
TEXT | head | 输出前几行 | $ head -n 4 | [前四行数据] |
tail | 输出后几行 | $ tail -n 4 | [后四行数据] | |
SEARCH | which | 在$PATH找文件 | $ ls -l $(which bash) | [文件信息] |
grep | 根据关键词筛选 | $ grep [str] [file1 ..] | [多文件内容筛选结果] | |
JOBS | ps | 查看进程状态 | $ ps -l $ ps aux | [当前bash下进程] [系统所有进程] |
bg | 后台暂停的任务变为执行 | $ bg [num] | - | |
fg | 后台任务放到前台 | $ fg [num] | - | |
jobs | 查看后台任务 | $ jobs [-lrs] | [后台任务列表] | |
kill | 杀死进程 | $ kill -9 | [无视进程响应杀死进程] | |
ctrl + c | 终止前台进程 | - | - | |
ctrl + z | 挂起前台进程到后台 | - | - | |
nohup | 在终端机脱机工作(不支持bash命令) | $ nohup [order] & | [终端机后台运行,并输出到nohup.out] |
ps 进程状态结构表 | |||||||||
---|---|---|---|---|---|---|---|---|---|
F:进程标志 | 4:权限为root | 1:仅可执行fork无法exec | |||||||
S:进程状态 | R:正在运行 | S:正在睡眠可被唤醒= | D:不可被唤醒(可能IO) | T:停止 | Z:僵尸 | ||||
唯一标志 | UID:拥有者 | PID:进程号 | PPID:父进程号 | ||||||
资源 | C:CPU使用率 | TTY:终端机号 | TIME:用掉CPU的时间 | ||||||
PRI/NI:优先级 | ADDR/SZ/WCHAN:内存 | ||||||||
CMD:命令 |
Ubuntu
</a>
写在前面的话
最先开始Linux就是从这个系统开始的,所以这应该是最亲切的Linux发行版了,相对的Linux相关使用在其他发行版了解的就不多了。以这个发行版为开始,充分了解Linux相关生态
已使用的命令
类别 | 命令 | 意义 | e.g. | 效果 |
---|---|---|---|---|
USER | useradd | 添加新的用户 | $ useradd [username] | - |
usermod | 修改用户信息 | $ usermod -G users dmt | 将dmt次要用户组设为users | |
chage | 修改密码参数 | $ chage -l [username] | 列出详细密码参数 | |
userdel | 删除用户 | $ userdel -r [username] | - | |
groupadd | 新建用户组 | $ groupadd [group] | - | |
groupmod | 修改用户组信息 | $ groupmod -g 201 -n [name] [group] | 将[group]名设为[name],gid设为201 | |
groupdel | 删除用户组 | $ groupdel [groupname] | - | |
gpasswd | 管理用户组管理员 | $ gpasswd [-ad] [user] [group] | - |
文件结构表
文件结构表 | |||||||||
---|---|---|---|---|---|---|---|---|---|
文件类别 | 文件 | 文件意义 | 项意义 | [分隔符] | |||||
文件项 | |||||||||
USER | /etc/passwd | 记录用户账号 | 账号 | [:] | |||||
账号名称 | 密码 | UID | GID | 用户信息说明列 | 主文件夹 | Shell | |||
/etc/shadow | 记录用户密码 | 账号 | [:] | ||||||
账号名称 | 密码 | 最近更改密码的日期 | 不可:需要被更动的天数 | </td>更改期限前警告:后宽限的天数 | 账号失效日期 | 保留 | |||
/etc/group | 记录GID与组名 | 用户组 | [:] | ||||||
用户组名称 | 密码 | GID | 支持的账号名 | ||||||
/etc/gshadow | 记录用户组密码(创建组管理员) | 用户组 | [:] | ||||||
用户名 | 密码 | 用户组管理员账号 | 用户组所属账号 |
CentOS
类别 | 特有命令 | 意义 | e.g. |
---|---|---|---|
USER | passwd --stdin [user] | 从标准输入设置密码 | echo password | passwd --stdin user |
MacOS
</a>
类别 | 命令 | 依赖 | 意义 | e.g. |
---|---|---|---|---|
NET | msmtp ~/.mailrc ~/.msmtp | 使用mail发邮件 | mail -s [title] [user@mail] |