linux基本命令

1.pwd 查看当前所在的路径

2.切换目录

1.cd /xxx/xxx/xxx

2.返回上一级目录

cd ..

3.查看

1.查看当前目录下的文件夹或者文件 ll 或者ls  尽量用ll

2.查看隐藏信息  ll -a

3.查看文件基本信息 stat

4.查看文件信息  cat

5.查看命令属性 -help

6.查看磁盘大小

查看当前目录下的文件夹的大小使用情况 du -h

查看当前目录下的文件夹以及文件大小的使用情况 du -a

查看整个虚拟机磁盘空间大小使用情况 df -h

7.查看内存使用情况

top

按 ctrl +c 退出

4.创建

1.touch命令创建(创建但是不打开)

2.vi / vim (创建一个文件并打开)  

怎么写入文件 后面有 

3.mkdir 创建文件夹

1.mkdir xxx

2.mkdir /xxx/xxx/xxx   指定位置创建文件夹 

3.mkdir -p xxx/xxx/xxx 创建多级目录文件夹

5.复制或者移动文件,文件夹

1.cp

1.cp xxx.txt yyy.txt

将当前目录下的xxx.txt 移动到当前目录下,移动后的名字叫做yyy.txt 相当于移动并改名 ,但是之前的xxx.txt还是存在的

 2.cp xxx.txt aaa/yyy.txt

将当前目录下的xxx.txt 移动到aaa目录下,移动后的名字叫做yyy.txt 相当于移动并改名

3.cp -r aaa bbb

将当前目录下的aaa文件夹复制一个,放在当前目录叫bbb的文件夹 

2.mv

1.mv a1.txt aaa/a1.txt  

将当前目录下的a1.txt 移动到当前目录下aaa目录下,移动后的名字叫做a1.txt,移动后原来的文件没了

2.mv a1.txt a3.txt

将当前目录下的a1.txt 移动到当前目录下,移动后的名字叫做a3.txt 相当于移动并改名 

6.删除

1.rm 删除文件 删除文件的时候会进行提示

2.rm 无法删除一个文件夹

3.rm -f 强制删除一个文件,没有提示  

4rm -r 删除文件夹的时候会进行提示

5,rm -rf  删除文件夹没有提示

 7 cat的高级用法

1.查看文件的特定内容(不用打开文件)

1.cat 文件 | grep '想看内容'

注意还有一种 是用vim 打开文件 然后输入/  再输入你想查询的内容  打开文件在不进入编辑模式的前提下,使用/xxx关键词 + 回车搜索

2.分页查看 cat 文件名 | more

2.合并文件

cat a1.txt a2.txt > xxx.txt

将合并的文件内容放到一个新的文件中,结果文件自动创建

将合并的文件内容放入到一个已经存在的文件,结果是将合并和的内容覆盖原始文件的数据。>有覆盖的含义

cat a1.txt a2.txt >> a6.txt 合并并追加内容到文件  

8编辑文件

1.vim/vi 

2.编辑错误

在编辑文件时一不小心,按下了ctrl+s或者ctrl+z  

image-20240123110523088

解决方法 rm -rf .test2.txt.swp 

9解压

tar -zxvf 

9.监控 tail

小f 如果把之前的文件删除 再创建一个跟原来一样名字的文件,那么不会被监控到 

tail  -F可以被监控到

10.scp 远程复制

1.scp远程

scp [-r] 要复制的文件[文件夹] 目标机器的用户名@目标机器的ip地址:复制的目标路径

举例:将master机器上的/usr/local/soft/a1.txt,复制到node1机器上的/usr/local/soft/a1.txt
scp /usr/local/soft/a1.txt root@192.168.220.110:/usr/local/soft/

2.配置hosts映射

vim /etc/hosts

#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.220.100	master
192.168.220.110	node1
192.168.220.120	node2

其中,#是加上去的,为了注释

192.168.220.100    master
192.168.220.110    node1
192.168.220.120    node2 这三个才是自己输出的

这样配置好就不用输入ip地址了

3产生密钥(私钥 公钥)

ssh-keygen -t rsa 按4次回车

ssh-copy-id -i 主机名

ssh-copy-id -i master
ssh-copy-id -i node1
ssh-copy-id -i node2

这样就不用输入密码了

每个虚拟机都要重复上述2次操作 ,这样传输都不需要ip地址跟密码

如果传输的文件或者文件夹在2个虚拟机的位置是一样的则可以用`pwd`代替,记住这个不是单引号是飘号,tab键的上面

11.用户组管理

1.添加用户组

groupadd shujia
2.存储用户信息的文件 

cd /etc

cat ./group

#etc目录下有一个group的文件存放着用户信息

这个shujia是我刚才添加的

其中x是密码,现在只是用来占位。1000是用户组的编号

3.用户组修改 groupmod

groupmod -g 1100 -n wyhshujia shujia

含义 将shujia组的组id改为1100,组名由shujia改为wyhshujia

groupmod -g 组的新id -n 新组的名字 旧组的名字

4.用户组删除 gruopdel

gruopdel 

12.用户管理

1.用户相关的文件

cd /etc  etc中有一个叫passwd的文件

cat passwd

2.创建用户

1.创建一个why用户

useradd why

此时,必须在etc的目录中创建


 

此时,group与 passwd文件中都有这个叫why的用户

cat shadow 同时也在shadow文件中新增了一行关于wyh密码的数据 

此时也在home的目录下创建了一个叫why的用户 

验证是否创建成功

 1)使用tail文件查看/etc/passwd文件

2)使用tail文件查看/etc/group文件

3)验证是否存在家目录(在Centos 下创建好用户之后随之产生一个同名家目录)

3.passwd存储用户信息的文件 

使用vim命令打开/etc/passwd文件

# wyh:x:1000:1000::/home/wyh:/bin/bash

root : x : 0 : 0 : root : /root : /bin/bash

用户名 : 密码 : 用户ID : 用户组ID : 注释 : 家目录 : 解释器shell

用户名:登录linux时使用的用户名

密码:此密码位置一般情况都是"x",表示密码的占位,真实密码存储在/etc/shadow

用户ID:用户的识别符,每个用户都有唯一的UID【-u】

用户组ID:该用户所属的主组ID;【-g】

注释:解释该用户是做什么用的;【-c】

家目录:用户登录进入系统之后默认的位置;【-d】

解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,转换成机 器语言,传递给内核处理;如果解释器是==/bin/bash 表示用户可以登录到系统==,==/sbin/nologin表 示该用户不能登录到系统==【-s】

使用场景1:

公司新员工lisi,属于shujia部门,用户ID1200,不允许登录系统

思路: 创建用户lisi,默认lisi属于自己同名的主组,让lisi 属于附加组shujia,用户ID 1200,注释 为"数加工程师lisi",解释器为/sbin/nologin

 

1.创建shujia的部门

groupadd wyhshujia

2.创建lisi的用户

useradd -G wyhshujia -u 1200 -s /sbin/nologin -c "数加工程师lisi" lisi

此时 group文件里也有一个lisi的组名

 

home的目录下也有一个lisi的文件夹

 

4.id查看用户信息

1.id lisi

 

5.usermod修改用户 

1.命令:usermod(user modify)

2.语法:# usermod [选项 选项的值] … 用户名

3.作用:修改用户的各种属性

4.选项:-G:表示指定用户的用户附加组,选项的值可以是用户组的ID,也可以是组名

-u:uid,用户的id(用户的标识符),系统默认会从500 之后按顺序分配uid,如果不想使用系统分配 的,可以通过该选项自定义【类似于腾讯QQ 的自选靓号情况】

-L:锁定用户,锁定后用户无法登陆系统

lock -U:解锁用户unlock

-c<备注>:修改用户帐号的备注文字

-d<登入目录>:修改用户登入时的目录

-s<shell>:修改用户登入后所使用的shell

场景2:

公司员工wangwu,属于bigdata29部门,现在要休产假,产假期间,暂时停止她登陆电脑的权限,同时 原来属于shujia部门的员工lisi,负责wangwu的工作,所以,需要把lisi加入到bigdata25的组,同时, 修改lisi的账户注释为“shujia bigdata25 user”

a.创建bigdata29的部门

groupadd bigdata29

b.创建wangwu的用户

useradd -G bigdata29 -u 1300 -c "大数据开发工程师" wangwu 

c.锁住王五的权限

usermod -L wangwu

d.解锁wangwu的权限

usermod -U wangwu

这个时候提示我们需要设置密码

 

f.注释lisi账户

usermod -G bigdata29 -c "shujia bigdata29 user" lisi

这个是passwd文件

 这个是group文件

13.passwd修改用户密码

1.命令:passwd

语法:# passwd 用户名 【如果不指定用户名则修改自己的密码】

作用:修改用户密码 

2.王五产假休完回到公司上班,需要将王五的账户解锁,在使用usermod -U解锁时,我们看到一个错误信 息如下:

3,修改wangwu密码

passwd wangwu

 

14认识/etc/shadow文件

由于 /etc/passwd文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了shadow文件中。 /etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。

与用户密码相关的文件:/etc/shadow 为用户设置密码之后,会自动在/etc/shadow文件中进行体现,使用vim编辑器打开 第一列为用户名,例如zhangsan 后面是加密后的密码,就是$开头的字符串 如果显示为!!,则表示这个用户==没有==设置密码。

由以上截图所知,wyh,lisi是没有设置密码的。wangwu我们刚刚设置了密码,所以显示为一个加密的字 符创

15.切换用户su

1. 在设置用户密码之后就可以使用此账号进行登录系统了,如果系统处于已登录状态,则可以使用su命令进 行切换用户。 为了系统安全,企业中通常不会允许root用户直接登录计算机,但是工作需要,我们又需要使用root权 限,这时候,我们就可以先使用一个普通用户登录计算机,再通过su命令切换到root权限

 2.语法:# su [-] 账号

3.a. 从root 往普通用户切换不需要密码,但是反之则需要root 密码;

b. 切换用户之后前后的工作路径是不变的,添加了选项[-]会自动切换到用户的家;

c. 普通用户没有办法访问root 用户家目录,但是反之则可以;

4,权限

通过ll查看详细信息时:-rw-r--r--. 1 root root 11 4月 24 21:22 xiao.txt

-:表示类型

rw-:当前用户权限

r--:当前用户组权限

r--:其他用户权限

r:读 4

w:写 2

x:执行 1

u:当前用户

g:当前组

o:其他

a:所有

5.删除用户

userder -r 用户名

-r:表示删除用户的同时,删除其家目录/home下的对应文件夹

16.权限分配

在root用户里面创建一个text文件夹,在里面创建一个a1.root.txt的文件,在用户why可以打开查看,但是不能修改

1.分配权限 chmod 646 a1.root.txt

之间的文件属性 后面的其他用户权限只有一个r,修改过后,可以读跟写

o+w也可以

再可以进行修改

修改文件夹以及文件夹里面文件的权限记得加上R 

chmod -R 权限 文件名

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值