Linux&&Unix使用与命令

用好工具,方能提高效率

Posted by Doni Daniel on October 13, 2019

Linux && Unix

Linux族版本号
Ubuntu18.04.3
CentOS
RedHat
Unix族版本号
MacOS Mojave10.14.6

预定想法

  • 总结Linux相关命令与操作,希望能掌握相关技术
  • 该文章旨在总结命令与编辑操作知识,并做后期查阅
  • 区别各个版本Linux的区别,了解Linux生态

Linux & Unix命令与操作

类别命令意义e.g.效果
ENVcat /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一个进程
IOecho在终端输出$ echo abcabc
cat打印文件内容$ cat /etc/passwd[文件内容]
ls列出文件夹下内容$ ls -l /etc[文件夹内容]
vim使用vim编辑器$ vim test.cpp[创建并编辑test.txt文件]
nano使用nano编辑器$ nano test.txt[创建并编辑test.txt文件]
USERgroups列出有效用户组$ 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输入密码后直接修改
idUID/GID相关信息$ id [user][UID GID group...]
TEXThead输出前几行$ head -n 4[前四行数据]
tail输出后几行$ tail -n 4[后四行数据]
SEARCHwhich在$PATH找文件$ ls -l $(which bash)[文件信息]
grep根据关键词筛选$ grep [str] [file1 ..][多文件内容筛选结果]
JOBSps查看进程状态$ 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:权限为root1:仅可执行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.效果
USERuseradd添加新的用户$ 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]-

文件结构表

</td>
文件结构表
文件类别文件文件意义项意义[分隔符]
文件项
USER/etc/passwd记录用户账号账号[:]
账号名称密码UIDGID用户信息说明列主文件夹Shell
/etc/shadow记录用户密码账号[:]
账号名称密码最近更改密码的日期不可:需要被更动的天数更改期限前警告:后宽限的天数账号失效日期保留
/etc/group记录GID与组名用户组[:]
用户组名称密码GID支持的账号名
/etc/gshadow记录用户组密码(创建组管理员)用户组[:]
用户名密码用户组管理员账号用户组所属账号

CentOS

类别特有命令意义e.g.
USERpasswd --stdin [user]从标准输入设置密码echo password | passwd --stdin user

MacOS

</a>

类别命令依赖意义e.g.
NETmailmsmtp
~/.mailrc
~/.msmtp
使用mail发邮件mail -s [title] [user@mail]