赞
踩
目录
第二章:文件和用户管理!!!
root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。
linux以单根的方式组织文件“/”
windows采用树型结构来组织文件
1、linux文件系统区分大小写,而windows文件系统不区分大小写;
2、linux文件路径使用“/”,而windows文件路径使用“\”;
3、linux不会锁定对文件的独占访问,而windows会锁定对文件的独占访问。
ps:
/ :代表整个计算机所有的的一级目录.
root :存储超管(超级管理员)的文件,也可以称为超管的+目录.
home:存储普通用户的文件,也可以称为普通用户的+目录.
etc :配置文件,用来设定程序开关.
dev(设备):设备(硬件)目录
bin :二进制目录
这种文件全部都是命令,让计算机立刻工作的一些指令,也叫程序。
比如windows系统中exe代表可执行程序,在linux系统中这些文件放在bin或者sbin中。
bin存放普通文件,sbin存放超管文件。
boot : 专门存放一些跟性能启动(内核)有关的文件.
var :存放一些临时文件(可以变化的)比如日志,邮件
usr :应用程序安装目录,一般存放额外安装的程序,存放在usr下的local文件夹下
tmp :存放系统的临时文件(临时垃圾箱)
lib :库文件(动态链接库 )相当于汉语字典,跟系统的开发者有关
media和mnt是空文件
1. 创建文件 :touch
位置---计算机---root---桌面目录(文件夹)---在桌面右键---打开终端,使用touch命令
创建文件 后屏幕中没有显示,因为linux系统中,命令行界面中的每一个操作都需要指令
创建需要指令,查看也需要指令,然后按tab键,复制桌面/ 到第五行。之后创建文件就会在桌面和文件夹显示。
注意命令和文件名之间加空格.
可以用ls查看文件有无创建成功.
ps:如果选择cd,root账户进入不了 ,说明账户登录的不是root
这时要点开账号,选择注销,再选择未列出 再输入本人账号root密码
2.创建目录:mkdir
可以用ls查看文件是否创建成功.
3. 复制:cp
将abc.txt(源文件路径)复制到dir1(新文件路径)文件中
但是现在使用ls查看文件,只能看到之前创建的文件和dir这个文件夹(文件目录),看不到dir1里边的东西
想要查看dir1文件夹(文件目录)(即查看复制的文件有没有成功),需要在ls后加上新文件路径
把dir1文件夹复制到dir2文件夹中。linux默认不允许直接复制文件夹(目录),会操作失败。
复制文件夹(文件目录)需要添加一个参数 -r
4.移动:mv
5.删除 rm
rm -f 直接删除
rm -r 询问是否删除
rm -rf 强制删除
更改文件名
6.查看文件内容
命令 加文件名
cat 直接把全部的文件内容显示到屏幕上
more 可以按页来查看文件内容(空格),还支持直接跳转行(enter)
head 默认前十行,但是可以添加参数比如-4,显示的就是前四行
tail 默认后十行,也可以添加参数
grep
7. 修改文件内容
1.vi 文本编辑器 vim是vi的升级版
打开文件 vi加空格加文件名
进入 按i 会出现INSERT(但是连按i时 只有第一个是命令开关代表开写入功能,剩下的都会成为内容,写入文件当中)
退出 首先按 :wq 然后按esc
2.文本编辑(在命令行)
yy复制
dd删除
p粘贴
u (undo)撤销
3 yy 代表复制三行 其他相同
3.光标定位:
hjkl上下左右
0 $行首行尾
gg G 页首页尾
3G进入第三行
/ 输入想要查找的内容 ((按n 往下查找) (按N往上查找 )可以循环的)查找字符
4.
8.改变目录
pwd 用来查看在平面目录下的位置
如果不主动输入路径,新建文件都会在pwd查看到的目录之下
绝对路径一定是由根目录 / 开始写起。
例如,使用绝对路径的表示方式指明 bin 文件所在的位置,该路径应写为 /usr/bin,测试代码如下:
[root@localhost ~]# bin
bash: bin: command not found <-- 没有找到
[root@localhost ~]# /usr/bin
bash: /usr/bin: is a directory <-- 是一个文件
可以看到,如果仅传递给 Linux 系统一个文件名,它无法找到指定文件;而当将 bin 文件的绝对路径传递 Linux 系统时,它就可以成功找到。
相对路径不是从根目录 / 开始写起,而是从当前所在的工作目录开始写起。
使用相对路径表明某文件的存储位置时,经常会用到前面讲到的 2 个特殊目录,即当前目录(用 . 表示)和父目录(用 .. 表示)。
举个例子,当我们使用 root 身份登录 Linux 系统时,当前工作目录默认为 /root,如果此时需要将当前工作目录调整到 root 的子目录 Desktop 中,当然可以使用绝对路径,示例代码如下:
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /root/Desktop
[root@localhost Desktop]# pwd
/root/Desktop
eg:
如果以 root 身份登录 Linux 系统,并实现将当前工作目录由 /root 转换为 /usr 目录,有以下 2 种方式:
#使用绝对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd /usr
[root@localhost ~]# pwd
/usr
#使用相对路径
[root@localhost ~]# pwd <-- 显示当前所在的工作路径
/root
[root@localhost ~]# cd ../usr <-- 相对 root,usr 位于其父目录 /,因此这里要用到 ..
[root@localhost ~]# pwd
/usr
绝对路径是相对于根路径 / 的,只要文件不移动位置,那么它的绝对路径是恒定不变的;
而相对路径是相对于当前所在目录而言的,随着程序的执行,当前所在目录可能会改变,因此文件的相对路径不是固定不变的。
一、查看文件类型的方式:
①ls-l/ls-ld 或者ll [ls-l ---查看文件 ls-ld ---查看路径 ll ----跟ls -l 一样]
②file 命令 查看文件的类型 例:file 1.txt
格式:file 文件名
③stat 命令 查看文件的详细属性(其中包括文件时间属性)
二、Linux下七种文件类型:
l(link):链接文件;
d:目录文件;
分为三种文件:
1、纯文本文件(ASCII):内容可直接读取,数字字母等,比如配置文件几乎都是这种文件;
2、二进制文件(binnary):Linux中可执行文件,比如命令文件,cat ls cp;
3、数据格式的文件(date):具有特定格式的文件。
-:普通文件;
c:字符设备;
s(sock):
prw:管道文件;
三、Linux下拓展名的作用:
1、.tar、.tar.gz、.tgz、.zip、.tar.bz 表示压缩文件,创建命令一般为tar,gzip,unzip等
2、sh 表示shell脚本文件,通过shell语言开发的程序;
3、.pl 表示perl语言文件,通过perl语言开发的程序;
4、.py 表示python语言的文件,通过python语言开发的程序;
5、.html、.htm、.php、.jsp、.do 表示网页语言的文件;
6、.conf 表示系统服务的配置文件;
7、.rpm 表示rpm安装包文件
、
用户类型:
Linux 系统是一个多用户多任务的操作系统,在 Linux 系统中一般可将用户分为 root 用户
和 普通用户
两大类。
root 用户
是 Linux 系统中的系统管理员用户,root 用户
在登录终端工具时,命令行前面显示 #普通用户
在登录终端工具时,命令行前面显示 $
查看 Linux 有哪些用户:
Linux 系统中 /etc/passwd
文件保存的就是系统中所有的用户主要信息,这些信息以 :
分隔,可以使用 cat
命令查看其中的信息,命令如下:
cat /etc/passwd
执行如下:
如上图所示,每行代表一个用户,这些用户中的绝大多数是系统或服务正常运行所必需的用户,我们把这种用户称为系统用户或伪用户。系统用户是不能登录系统的,但是这些用户同样也不能被删除,因为一旦删除,依赖这些用户运行的服务或程序就不能正常执行,会导致系统问题。
/etc/passwd
文件中每行用户包含的信息如下:
以第一行为例,root:x:0:0:root:/root:/bin/bash
中包含的信息有
用户名是 root
、密码标志 x
、UID 0
、组ID(GID) 0
、用户描述 root
、家目录位置 /root
、默认shell /bin/bash
,第二行最后的 nologin
表示这个用户不能登录(有些不能登录的用户可以用作启动某个软件进程)。
查看 Linux 用户信息:
Linux 中 /etc/shadow
文件上保存了每个用户的信息,该文件只有 root
用户才能访问,这个文件中包含每个用户的一条记录信息,使用 cat
命令查看:
cat /etc/shadow
这些信息以 :
分隔/etc/shadow
文件中每行用户包含的信息如下:
sudo 与 su 两个命令的最大区别是:
sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。
另外一个区别是其默认行为,sudo 命令只允许使用提升的权限运行单个命令,而 su 命令会启动一个新的 shell,同时允许使用 root 权限运行尽可能多的命令,直到明确退出登录。
su 用以切换成不同的用户的身份,默认只是切换身份,并没有切换环境变量,环境变量依然是普通用户的。切换用户身份时,用户的环境变量也切换成新用户的环境变量,所以"-"不能省略,不然有些操作无法执行。
su root 输入root密码后切换之root用户但是pwd目录不变
su - root 输入root密码后切换之root用户但是pwd目录/root
sudo一般加的是命令:
sudo -i root与sudo - root、sudo -i ,sudo - ,sudo root效果相同。提示输入密码时该密码为当前账户的密码,要求执行该命令的用户必须在sudoers中才可以。su需要的是切换后账户的密码,用法为“su 账户名称”。
sudo : 暂时切换到超级用户模式以执行超级用户权限,一般指的是root用户,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。
su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。如果后面不加账户时系统默认为root账户,密码也为超级账户的密码。没有时间限制。
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次输入密码,可以使用该命令。提示输入密码时该密码为当前账户的密码。没有时间限制。执行该命令后提示符变为“#”而不是“$”。想退回普通账户时可以执行“exit”或“logout”。要求执行该命令的用户必须在sudoers中才可以。
sudo -i 直接运行sudo命令加-i参数,要求执行该命令的用户必须在sudoers中才可以。
sudo su 运行sudo命令给su命令提权,运行su命令。要求执行该命令的用户必须在sudoers中才可以。
用户管理相关命令
useradd 添加用户
adduser 添加用户
userdel 删除用户
passwd 为用户设置密码
usermod 修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等
用户组管理相关命令
groupadd 添加用户组
groupdel 删除用户组
groupmod 修改用户组信息
groups 显示用户所属的用户组
newgrp 切换到相应用用户组
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。