Linux基础02:磁盘操作,文件权限、文件及文件夹操作、网络服务

1.Linux磁盘与U盘操作

1.1 显示系统的磁盘空间用量
##du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看
du -sh  ##查目录使用大小(-s表示总结)
## du -sh /bin
##df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
df -h	##检查linux服务器的文件系统的磁盘空间占用情况
##mkfs命令用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。
mkfs.ext4 /dev/sda1	##格式化硬盘分区
##fdisk命令用于观察硬盘实体使用情况,也可对硬盘分区。
fdisk -l	##查看整个硬盘的信息
fdisk /dev/sda	##磁盘分区
1.2 挂载

挂载6

##命令格式:mount [-t vfstype] [-o options] device dir 
其中: 
#1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有: 
光盘或光盘镜像:iso9660 
DOS fat16文件系统:msdos 
Windows 9x fat32文件系统:vfat 
Windows NT ntfs文件系统:ntfs 
Mount Windows文件网络共享:smbfs 
UNIX(LINUX) 文件网络共享:nfs 
#2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有: 
loop:用来把一个文件当成硬盘分区挂接上系统 
ro:采用只读方式挂接设备 
rw:采用读写方式挂接设备 
iocharset:指定访问文件系统所用字符集 
#3.device 要挂接(mount)的设备。 
#4.dir设备在系统上的挂接点(mount point)。
##将镜像文件挂载在/mnt/dvd下
mkdir /mnt/dvd  #在根目录下的mnt目录下创建目录dvd
mount -t iso9660 -o loop /dev/cdrom /mnt/dvd	##挂载
umount /mnt/dvd   								##卸载
1.3 文件系统修复
##fsck命令被用于检查并且试图修复文件系统中的错误。当文件系统发生错误,可用fsck指令尝试加以修复
fsck -y  /dev/sda1   ##(修复的可以是分区可以是目录,最好在单用户模式下使用)
##linux文件格式
ext4  ext3   ext2   vfat(fat32)
##windows文件格式
ntfs   fat32  exfat

2.Linux账号与组操作

2.1 账户

​ 超级账户 root uid = 0

​ 普通账户 uid > = 500

​ 系统账户 uid = 1 ~ 499

​ /etc/passwd //保存账户的信息

![图片14 (2)](图片14 (2).png)

​ /etc/shadow //保存账户密码信息

![图片15 (2)](图片15 (2).png)

2.2 添加,删除,修改用户 useradd,userdel,usermod

useradd 用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。所有用户必须放在组中,创建用户时,如不指定组,会默认创建与用户名相同的组

useradd(选项)(参数)
useradd user 添加用户user;
useradd -g user user1  创建用户user1指定基本组为user  使用 cat /etc/passwd 查看
-G<群组>:指定用户所属的附加群组;
useradd -G user user2  创建用户user2指定附加组为user2 使用cat /etc/group查看组情况
-u<uid>:指定用户id。
useradd -u 666 user3  创建用户user3指定用户ID为666 使用 cat /etc/passwd 查看

userdel命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。

useradel(选项)(参数)
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。userdel -r user 删除用户user,并且删除/home/user

usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。

usermod(选项)(参数)
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-u<uid>:修改用户ID;
-U:解除密码锁定。
2.3 passwd命令

​ 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

passwd(选项)(参数) 
参数即需要设置密码的用户名。
-d:删除密码,仅有系统管理者才能使用;
-l:锁住密码;
-u:解开已上锁的帐号。
2.4 :groupadd

​ groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。

groupadd(选项)(参数)
-g:指定新建工作组的id;
groupadd manager   ##创建组manager
groupadd manager1  ##创建组manager1
groupadd manager1  ##创建组manager2
cat /etc/group	   ##查看组信息
cat /etc/gshadow   ##查看组密码信息

![图片16 (2)](图片16 (2).png)

2.5 groupmod命令

​ 更改群组识别码或名称。需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。

groupmod(选项)(参数)
-g<群组识别码>:设置欲使用的群组识别码;
groupmod -g 888 manager
-n<新群组名称>:设置欲使用的群组名称。
group -o manager1 manager
2.6 groupdel

​ groupdel命令用于删除指定的工作组,本命令要修改的系统文件包括/ect/group和/ect/gshadow。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。

groupdel(参数) 参数即要删除的组名
groupdel manager 
2.7 gpasswd

gpasswd命令是Linux下工作组文件/etc/group/etc/gshadow管理工具。

gpasswd(选项)(参数)
-a:添加用户到组;
gpasswd -a user1 manager
显示Adding user user1 to group manager 
-d:从组删除用户;
gpasswd -d user1 manager
显示Removing user user1 from group manager
2.8 id指令

​ id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID 是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。

id [-gGnru][--help][--version][用户名称]
-g或--group   显示用户所属群组的ID。
id -g user1
-G或--groups   显示用户所属附加群组的ID。
id -G user1
-n或--name    显示用户,所属群组或附加群组的名称。
id -name user1
-u或--user    显示用户ID。
id -u user1
2.9 更改密码

更改密码方式1

##修改用户user2密码(root用户权限)
passwd user2
New password:*******
Re-enter new password:*******

更改密码方式2

##不通过交互信息,直接改用户密码(root用户权限)
echo "root" | passwd --stdin root  
2.10 切换用户

​ su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

su +用户名
su  user3  #切换用户为user3
2.11 切换用户权限使用
  • sudo命令:使用某调命令的时候,临时取得超级用户的权限,使用完毕之后,回到自己的权限

![](图片22 (2).png)

![](图片23 (2).png)

![](图片24 (2).png)

![](图片25 (2).png)

2.11. 显示当前登录用户帐户
whoami   #显示当前用户
who      #显示当前在线用户
last     #最后登录是谁
last -n  #最后登录的列表
2.12 查看系统文件判断添加用户组添加用户操作是否正确
##查看用户信息
cat /etc/passwd
##查看用户组的信息
cat /etc/group

3.Linux下文件权限介绍

3.1 查看当前位置及路径切换

pwd 查看当前位置

cd 切换文件目录

cd ~  		#回到家目录
cd -   		#回退到上一次所在位置
cd ../		#回到上一级目录
cd ./		#当前目录
cd 			#返回到当前用户的家目录
3.2 显示当前目录的文件列表
ls -al /etc   ##查看根目录下etc文件下的所有文件和目录,包括隐藏文件
3.3 递归显示/目录的文件列表
 ls -R /etc
3.4 显示文件或文件夹详细信息

权限:读取\写入\可执行
归属关系:所有者\所属组\其他用户

-|rw-|---|---. 1 root root 1771 4月28 2015 anaconda-ks.cfg
①  ②   ③   ④      ⑤    ⑥    ⑦      ⑧              ⑨
①:文件类型
	-	文件	
	d	目录
	l	链接
②:所有者权限(u)
	r	读	 4
	w	写	 2
	x	执行	1
③:所属组权限(g)
	r	读	4
	w	写	2
	x	执行	1
④:其他用户权限(o)
	r	读	4
	w	写	2
	x	执行	1
⑤:所有者
⑥:所属组
⑦:文件大小
⑧:最后修改时间
⑨:文件名

3.5 设置文件所有者拥有对文件读写执行权限
chmod 777 /data0/my.cnf     ##拥有所有权限
chmod -x /data0/my.cnf      ##删除执行权限
chmod -R 777 /data0         ##递归改权限
chmod u g o +-rwx /1.txt    ##用户,同组,其他人
chown -R lucy:lucy /data0   ##修改所有者及组

4.Linux文件文件夹操作

4.1 创建文件夹和文件 (指定目录和不指定目录的区别)
mkdir  /tmp/test01 						##创建空文件夹
mkdir -p /data1/hadoop/hdfs/name 		##创建多级文件夹
touch /tmp/test01/file.txt				##创建空文件
vi file.log   							##创建空文件并进入编辑模式
echo > file.txt  						##创建file.txt并输入空到该文件中
4.2 复制文件
cp  /tmp/file.txt  /opt
4.3 复制目录
cp  -r  /tmp/test01  /opt
4.4 移动,剪切,重命名
mv  /opt/test01  /tmp  ##移动目录 
mv  /opt/file1.txt   /tmp/file1.txt ##移动文件 
mv  /opt/file1.txt   /tmp/file2.txt ##移动文件并重命名
mv  /opt/test01  /tmp/test02 ##移动目录并重命名
rename aoo aoo1   aoo? ##批量命名
##第一个参数:被替换掉的字符串
##第二个参数:替换成的字符串
##第三个参数:匹配要替换的文件模式
##字母的替换
rename AA aa *  ##把文件名中的AA替换成aa
##修改文件的后缀
rename .html .php  *    ##把.html 后缀的改成 .php后缀
##批量删除后缀
rename .txt ''  *      ##把所有以.txt结尾的文件名的.txt删掉
4.5 删除
rm				##删除文件
rm -r			##删除目录(递归删除)
rm -f			##强制删除
rm –rf folder   ##常用命令 不可恢复
4.6 文件内容查看
cat -n					##查看内容时显示行号
cat /etc/redhat-release	##不显示行号
cat -n /etc/passwd 		##查看内容时显示行号
4.7 目录文件显示多行可上下翻查
less /etc/passwd
4.8 显示文件的头10行或尾10行
tail		##默认查看文件尾10行
head 		##默认查看文件头10行
-n 数字	  ##查看指定头几行		
tail /etc/passwd
head /etc/passwd
tail -2 /etc/passwd ##查看文件尾2行
head -3 /etc/passwd ##查看文件头2行
head -12 /etc/passwd | tail -5  ##查出前12行交给后面处理,即查看前面命令查出内容的的后5行 
tail -f /home/passwd   ##监控文件(监控文件id)
tail -F /home/passwd   ####监控文件(监控文件名)
4.9 重定向 > >>
##  > 先清空文件内容,后写入新的内容
ls -l /root > /tmp/file1.txt
## >> 追加新的内容,旧的内容不会消除
ls -l /root  >>  /tmp/file1.txt
4.10 屏幕打印 echo
echo "No Hello World..."			    ##打印到屏幕
echo “hello word” >/data0/my.cnf		##打印到文件
echo “hello word” >> /data0/my.cnf	    ##打印追加到文件
4.11 文本编辑器 VIM
vim file
:q		##退出
:w		##保存
:wq		##保存退出
:q!		##强制退出
:wq!	##强制保存退出

vi/vim是Unix/Linux中最常用的文本编辑器,并且功能十分强大。但是它只有命令没有界面。

  • 4.11.1 Vim文本编辑器的基本工作模式

![图片1 (2)](图片1 (2).png)

  • 4.11.2 插入命令

![](图片2 (2).png)

  • 4.11.3 定位命令

![](图片3 (2).png)

  • 4.11.4 替换和取消命令

![](图片4 (2).png)

  • 4.11.5 删除命令

![](图片5 (2).png)

  • 4.11.6 后台挂起任务,后台执行任务,调出后台任务
ctrl + z 		#后台挂起
jobs     		#查看后台挂起任务
fg jobid		#显示某个后台挂起的任务
ping www.baidu.com >> 1.txt
按ctrl + z 使任务后台挂起
5.12 gzip与gunzip

gzip命令用来压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。

#gzip /home/data/1.txt
#gunzip /home/data/*.gz 
5.13 bzip2与bunzip2

bzip2命令可以用来压缩文件,文件经它压缩后会另外产生具有“.bz2”扩展名的压缩文件。

bunzip2命令用于解压缩由bzip2命令压缩的“.bz2”压缩包。

#gzip /home/data/1.txt
#gunzip /home/data/*.gz 
5.14 打包 tar原理
-z    ##压缩或解压缩
-c	  ##打包
-x	  ##解包
-f	  ##必须要
-C	  ##指定解包位置
-v	  ##输出信息
5.15 打包tar案例(tar命令平常就代替了gz命令)
##将一个文件打包
tar -cvf folder.tar file1.txt
##将多个文件打成一个包
tar -cvf folder.tar file1.txt file2.txt
tar –cvf file.tar *.jpg    ##(常用方法)
##解包到当前目录
tar -xvf folder.tar     ##(常用方法)
##解包到指定目录
tar -xvf folder.tar -C /home/sss
##将多个文件打包并压缩
tar -zcvf file.tar.gz folder1 floder2  
##将文件解包并解压缩
tar -zxvf file.tar.gz        ##(常用方法)
##使用tar备份指定目录/data0/内容包括子目录中内容备份至 /data3/data0.tar.gz
tar -zcvf /data3/data0.tartar.gz   /data0
##恢复tar 文件中的内容/data3/data0.tar.gz 至 /data2
tar -zxvf  /data3/data0.tar.gz -C /data2  
5.16 查找命令所在位置
##查找cmd命令所在路径
which cmd 
##	which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which reboot
##whereis 查找路径中包含该字符串。一般用于查找软件安装位置.whereis命令用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
whereis mysql
##locate 查找文件按所在,文件查找-效率很快(用的是数据库)locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate httpd.conf 	
##find 文件查找-效率很慢 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find / -name httpd.conf 文件名字是该字符串的 
find / -name *ss*
find / -size 4k   ???查找大于多少  小于多少

5. Linux网络与安全级别操作

5.1 修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

##网卡名称
DEVICE=eth0
##网络类型为:Ethernet
TYPE=Ethernet
##唯一性
UUID=d06a4eee-dd5c-45e5-afbc-38a8a8440bd9
##开机启动
ONBOOT=yes
##network mamager的参数 ,是否可以由NNetwork Manager托管
NM_CONTROLLED=yes
##设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务
BOOTPROTO=none
##mac地址
HWADDR=00:0C:29:74:E7:3E
##ip地址
IPADDR=192.168.10.11
##子网掩码24位
PREFIX=24
##网关
GATEWAY=192.168.10.254
##dns 域名解析 第一个dns服务器
DNS1=192.168.10.254
##就是default route,是否把这个eth设置为默认路由
DEFROUTE=yes
##如果ipv4配置失败禁用设备
IPV4_FAILURE_FATAL=yes
##禁止IPV6
IPV6INIT=no
##这个就是个网络连接的名字
NAME="System eth0"
5.2主机名配置文件
##永久修改主机名(需要重启服务器)
vim /etc/sysconfig/network
HOSTNAME=teacher.tarena.com
##临时修改主机名,使用hostname命令+空格+新主机名
hostname teacher.tarena.com	
5.3 主机与IP地址映射文件
##解析文件
vim /etc/hosts	
192.168.91.111 hadoop01
5.4 常见服务端口
web		tcp			80
telnet	tcp			23
ssh		tcp			22
ftp		tcp			20/21
smtp	tcp			25
pop3	tcp			110
imap	tcp 		143
dns		tcp/udp		53
可以参考/etc/services
5.5 关闭防火墙
##关闭防火墙
service iptables stop
##设置开机不启动
chkconfig iptables off
##查看防火墙状态
service iptables status
5.6 给虚拟机打一个快照(相当于在某个时刻点给该虚拟机照一张照片),类似window恢复。

猜你喜欢

转载自blog.csdn.net/weixin_42741866/article/details/83097211