linux的常用命令

创建联级目录:

mkdir -p aa/bb/cc

删除命令:

rm:删除,无法删除目录
rm -r:递归删除
rm -rf:递归删除 不提示

echo:输出到控制台

:重定向,把一个命令的执行结果,重定向到一个文件中去,屏幕不会再显示结果,例如:ls >a.txt,把ls的结果作为字符串写入,覆盖到a.txt文件中

:把ls的结果作为字符串追加到a.txt文件中

vim:三种模式:普通模式。插入模式(编辑模式),命令模式(普通模式进入 插入模式不能进入)

vi:编辑文件
-i:编辑模式
-o:编辑模式(直接到下一行)
-w:保存
-q:退出
esc:退出编辑
cat:查看文件内容

非插入模式下的有些快捷键:

a:在光标后一位开始插入               A:在该行的最后插入
I:在该行的最前插入                        yy:复制整行
3yy:复制三行                                  p:粘贴
gg:直接跳到文件首行                    G:直接跳到文件的末行
dd:删除一行                                   3dd:删除三行
/:搜索内容,n匹配下一个                   u:undo(撤销)
ctrl+r:redo(执行之前撤销的)    :set nu:设置行号
:set nonu:设置不显示行号            :q! :强制不保存退出
fg 程序编号:切换后台挂起程序        jobs:查看后台挂起的程序
ctrl+z:将程序挂起

新奇的命令有:

设置行号:命令模式下set nu和set nonu 来显示或取消行号
a:在光标后一位开始插入               A:在该行的最后插入
I:在该行的最前插入
gg:直接跳到文件首行   
G:直接跳到文件的末行
u:undo(撤销)
ctrl+r:redo(执行之前撤销的)

查看操作:

cat filename

tail -n 20 filename         显示filename最后20行
tail -r -n 10 filename     逆序显示filename最后10行

ps进程

-a,查看所有
-u,以用户(user)的格式显示
-x, 显示后台进程运行参数
-ef,以全格式显示进程所有信息,包括父进程Pid,创建人,创建时间,进程号。等等
一般项目中,我们首先要查询一个进程,并对其进行删除会用一下命令
ps -a | grep helloworld 或者其他
ps -ef |grep helloworld 或者其他

添加用户

查看当前用户需要输入指令:whoami

添加用户,设置密码

useradd laohe
passwd laohe password

删除用户:userdel laohe1

2、赋予root权限

方法一:修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉  (centos7默认去掉的哦)

## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL
然后修改用户,使其属于root组(wheel),命令如下:
usermod -g root tommy
修改完毕,现在可以用laohe帐号登录,然后用命令 su – ,即可获得root权限进行操作。

所以完整操作时
useradd laohe
passwd laohe password
usermod -g root laohe  //修改用户的用户组为root
[laohe1@localhost ~]$ id laohe1
uid=1002(laohe1) gid=0(root) 组=0(root)


方法二:修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL
tommy   ALL=(ALL)     ALL

修改完毕,现在可以用tommy帐号登录,然后用命令 sudo – ,即可获得root权限进行操作。

方法三:修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:0:33:tommy:/data/webroot:/bin/bash

用户组操作:

groups 查看当前登录用户的组内成员
groups username 
[root@localhost ~]# groups laohe1
laohe1 : root

groupadd justsus 新建用户组justsus

groupadd -g 1800 justsus新建用户组并指定用户组justsus的ID为1800

groupdel justsus 删除用户组justsus

usermod -g 组名 用户名 将用户添加到组中
usermod -G 组名1,组名2 将用户添加到多个组中,每个群组使用 "," 区格开来,不可以夹杂空白字元 

gpasswd -d 用户名 组名  将用户从组中删除
gpasswd [选项] 组账号名
常用选项:

-a:向组内添加一个用户(追加用户到组)

-d:从组内删除一个用户成员

-M:定义组成员列表,以“,”分隔(会覆盖原组成员)

sudo vim a.txt 产生的问题:

laohe1 不在 sudoers 文件中。此事将被报告。

需要在root的情况下,在/etc/sudoers中 搜索root,找到`root    ALL=(ALL)       ALL`,并在下面添加laohe1的记录
root    ALL=(ALL)       ALL
laohe1  ALL=(ALL)       ALL

不过sudoer默认只有读权限所以需要root账号添加读写权限

/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
1、/etc/group 解说;
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;

用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,

2、/etc/group 内容具体分析
/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:
group_name:passwd:GID:user_list

在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

[root@localhost etc]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
www:x:1000:1000::/home/www:/sbin/nologin
mysql:x:1001:1001::/home/mysql:/sbin/nologin
laohe1:x:1002:0::/home/laohe1:/bin/bash

id相关操作:

d user 查看用户user的id信息
id -u user 查看用户user的uid
id -g user 查看用户user的gid
id -G user 查看用户user所在的所有组的id信息
id -n user 显示名字而不显示数字

切换用户

切换用户需要用到指令:su - root
注:1.在 su - 指令中,“-”表示在切换用户时,同时切换掉当前用户的环境

[laohe1@localhost ~]$ su - root
密码:
上一次登录:四 11月 19 09:36:29 CST 2020从 192.168.126.1pts/0 上
[root@localhost ~]# su - laohe1
上一次登录:四 11月 19 10:42:08 CST 2020从 192.168.126.1pts/1 上

linux文件权限的描述格式

d rwx rwx rwx
d:标识节点类型(d:文件夹 -:文件 |:链接)
r:可读
w:可写
x:可执行
chomd +w aaa.txt 添加权限
chomd -w aaa.txt  删除权限

权限加减赋值操作:+是新增,-是删除,=赋值权限
读写执行分别是4 2 1 

不能只有写没有读。也就是出现2或者3这样的


原文地址:https://www.cnblogs.com/justsus/p/14004586.html