Linux 命令及文件操作等
目录管理及命令:
- 在xshell中输入ls/就可以看根目录
而用如ls/bin等就看查看每个根目录下的文件,
用ls/ -l 是长格式输出。
例如: ls -l / 查看当前目录信息
根目录下有以下的文件:
以下命令中间一般都需要空格的
ls --help 帮助 - 关机命令:shutdown -h now
- 重启命令:shutdown -r now 或reboot
- 其他相关命令:halt/poweroff/init
- 目录查看:ls al [文件或目录名称]
例如:ls -al - 目录切换:cd [目录名称]
例如:cd / 切换到根目录
可以cd ./a或者别的字母然后按两下tab键,可以进行包含这个字母开头的文件名 - 显示当前目录: pwd
- 绝对路径:从根目录/开始写起 要有/*
例如:cd /etc/cron.d - 相对路径:当前目录 一个点 .
上级目录 两个点 …
家目录 ~
不包含 /,一层一层写
例如: cd etc - 目录创建:mkdir [-p] 目录名称
例如: mkdir -p a.txt 或者mkdir a.txt
对于目录的创建,也可以使用相对路径或绝对路径进行表示
例如:mkdir -p c/d 表示建c目录,然后在c目录中再创建d目录 - 目录删除:rmdir [-p] 目录名称
同目录创建基本一致,但是不能删除有内容的目录,即只能删除空目录
可以同时删除一连串的目录,例如:
rmdir -p c/d/e
文件编辑:
-
创建文件: touch 文件名
例如:touch a.txt -
文件查看:cat/more/less/head/tail
-
输入 vi 文件名称 (进入文件编辑模式)具体看下图:
命令模式 vi 文件名称
例如: vi a.txt 进入文件a的编辑模式,如图:
以下操作需要经常在命令模式和编辑模式来回切换,即需要按esc和a来回切换
h j k l 分别对应:左 下 上 右
dd 剪切当前行
yy 复制
以下大写都是按shift+小写的字母的实现的
p 下一行黏贴
P (shift+p) 上一行黏贴
a在光标后插入
A在当行末插入
i在光标前插入
I在当行首插入
o在当前行之下插入
O在上一行插入
编辑模式
最末行模式 :
:set nu 显示行号
:w 保存
:wq 保存并退出
:q! 不保存退出
文件操作:
- 复制 : cp [r] 来源文件 目标文件
例如:
也可以同时复制多个文件,复制多个时最后一个必须是文件夹。例如:
还可以复制文件夹,例如:
可以在复制的过程中改名字,如下:
2. 移动 : mv 来源文件 目标文件
例如,把a.txt移动到ddd目录中
同样可以移动多个文件:
如果把a.txt移动到空目录下,可以改名为c.txt,如下:
说到改名字,可以在当前目录下进行更改,如下:
3. 删除 : rm [-rf] 文件或目录
删除是提示是否删除要按y,如下:
如果不想要提示信息的话,直接输入 rm -f a.txt 就可以了;
要是想删除多个文件,可以写成 rm -f ./*;
删除目录时,写成: rm -r cc 即可,不想询问是否删除就把 -r 改成 -rf
查找
1.查找命令: which 命令名
不能查找文件,只能查找命令,如下:
2. 特定目录查找: whereis 文件或目录
查找不到文件,必须用find
3. 查找: find 目录 [-name/user/size]参数
忘记后面的名字了,可以用*代替,表示前面有两个aa的文件都查找,如果用??代替,表示aa后面还有两个字符的文件
用户管理
- 查看: who
用 ls /home 查看当前的所以的用户
- 创建用户: useradd [-g 群组] 用户名
- 如果使用useradd -g root wangwu 这种群组创建用户时,wangwu就有权限管理root;如果仅仅用useradd wangwu 创建,则wangwu 没办法查看root
- 设置密码: passwd 用户名
- 密码设置规则:
- 密码超过8个字符
- 包含数字、大小写字母、符号
- 不能与账号一样
建议比如: h@BiAnqun@, ww@nihao123
设置完密码后,就可以断开当前连接,试一下别的用户登录啦
修改密码: passwd
- 删除用户: userdel [-r] 用户名
有些比较难删除的话,可以使用以下命令进行删除:
群组管理
-
查看群组: groups [用户名]
-
创建群组: groupadd 群组名
-
删除群组: groupdel 群组名
-
用户群组修改: usermod [-g 群组名] 用户名
修改之后如下:
权限与角色的作用
- 分析以下上图,
- 第一个参数代表文件的类型(例如,第一行的第一个参数 - 代表一个文件,d代表的是目录);后面的9个参数分为3组,第一组的三个参数代表所有者的权限,第二组的三个参数代表所属组的权限,最后一组的三个参数代表其他用户的权限
权限、角色的设置
-
修改所有者: chown [-R] 用户名 文件或目录
修改了1.txt的所有者,1.txt所在行的user001变成了user002了
-
修改所有者和组: chown [-R] 用户名:组名 文件或目录
把3.txt的所有者和组都修改成了user002
-
修改所属组: chgrp [-R] 组名 文件或目录
修改了2.txt所属组
把workspace01的所有者和组都变成了root了
-
权限修改: chmod [-R] xyz 文件名或目录
- 写法一:
x 所有者权限
y 所属组权限
z 其他用户权限
r:4
w :2
x:1
例如:写了755 ,代表所有者的权限是可读可写可执行,而所属组合其他用户的权限是刻度可执行,不可写 - 写法二:
x 角色 : u g o a 分别代表所有者、所属组、其他用户、所有角色
y 设置 : + - = 分别代表增加、减少、设置
z 权限 : r w x 分别代表可读、可写、可执行
例如:u + w 代表:给所有者加上可写的权限
a - r 代表:给所有角色去除掉可读的权限
例子:我们除了root角色外,建了新的用户user1和user2,这两个都属于其他用户。进入user1里面,企图建立一个目录,结果权限不够,如下:
在root查看了一下,发现只有在home里面只有root可读可写可执行,其他用户没有可写权限的,如下:
为了验证root可读可写可操作,我们在root中创建一个spacework1的文件夹,如下:
创建完了以后,在user1中也能看到spacework1这个目录,同时也看到了这个目录的权限,发现该目录所有者和所属组都是rwx,其他用户没有写的权限
验证一下,发现user1真的没有写入的权限:
所以我们在root中给user1权限可以去写入,输入命令后发现spacework1在其他用户中也有了w的权限了
回到user1 ,发现可以创建文件了(1.txt),user1是1.txt的所有者,也是所属组
我们会发现,1.txt这个文件对于其他用户是只读,所以在user2中验证一下
输入vi 1.txt进入编辑时,末行命令wq保存退出是,报错了,说明是只读不能写。只能通过q!进行强制退出不保存
可以在user1中给1.txt权限,然后user2就可以写了
一般来说所,写777是非常危险的,所以如果user2 也要可读可写的话,建议在root中把user2放入user1这个组中,就实现了这个权限
重连以下user2就可以了,所以user2也能对1.txt进行vi写入了,以后user1创建了任何文件,user2都可以进行编辑了
对于文件的权限,所属组都可以通过root超级管理员进行设置
压缩与解压缩
- Linux常见的压缩类型
测试: - 打包:首先已经建了目录madir,文件1.txt,2.txt,3.txt,也把这三个文件复制到madir中了,然后把这三个文件打包压缩成matar.tat:
方法一:
方法二:
- 压缩成**gzip(gz)**方式:
- 查看tar格式的
- 查看gz格式的(在 -tvf 中加了 z),查看xz的则在中间加了J。及怎么压缩的就用**-tvf** 加上对应的字母查看,具体看前面的图片
- 解压缩