目录
8.2.1基本命令:mount [-l][-t ][-o ]
一、目录操作命令
1.1目录切换 cd
cd / | 切换到根路径 |
cd /usr | 切换到根目录下的usr文件夹 |
cd ../ | 切换到上一级目录 |
cd ~ | 切换到home目录下 |
cd - | 切换到上次访问的路径下 |
1.2.目录查看 ls
ls | 查看当前目录下所有的目录和文件 |
ls -a | 查看当前目录下所有的目录和文件(包括隐藏的文件) |
ls -l 或者ll | 列表查看当前目录下的所有的目录和文件 |
ls /dir | 查看指定目录下的文件或者文件夹 |
1.3.目录操作(增,删,改,查)
1.3.1目录新增 mkdir
mkdir aaa | 在当前目录下创建一个名为aaa 的目录 |
mkdir /usr/aaa | 在指定目录下创建一个名为aaa的目录 |
1.3.2目录或者文件删除 rm
1.3.2.1删除文件
rm 文件名 | 删除当前目录下的文件 |
rm -f 文件名 | 删除当前目录下的文件(不询问) |
1.3.2.2删除目录
rm -r 目录aaa | 递归删除当前目录下的aaa目录 |
rm -rf 目录aaa | 递归删除当前目录下的aaa目录(不询问) |
1.3.2.3全部删除
rm -rf * | 将当前目录下的所有的目录和文件全部删除 |
rm -rf /* | 将根目录下的所有目录和文件全部删除(自杀操作,不可用) |
1.3.3修改目录 mv或者cp
1.3.3.1重命名目录
mv 当前目录 新目录 | mv aaa bbb 将目录aaa改为bbb 也可以用于文件或者压缩包 |
1.3.3.2剪切目录
mv 目录名称 目录的新位置 | 将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr |
1.3.3.3拷贝目录(-r递归)
cp -r 目录名称 目录拷贝的目标位置 | 将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp -r /usr/tmp/aaa /usr |
cp 文件名称 文件拷贝的目标位置 | 将/usr/tmp目录下的aaa文件复制到 /usr目录下面 cp /usr/tmp/aaa /usr |
scp -r 目录名称 目录拷贝的目标位置 | scp -r /data/dmbak/BACKUP_FILE [email protected]:/data/dmbak |
scp -P port 目录名称 目录拷贝的目标位置 | scp -P 5237 /data/dmbak/BACKUP_FILE [email protected]:/data/dmbak |
1.3.4搜索目录 find
find 目录 参数 文件名称 | find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件 |
二、文件操作命令
2.1文件操作(增、删、改、查)
2.1.1文件新增 touch
touch 文件名 | 在当前目录创建一个名为aa.txt的文件 touch aa.txt |
2.1.2文件删除 rm
rm -f 文件名 |
2.1.3修改文件 vi或者vim
2.1.3.1打开文件
vi 文件名或者vim 文件名 |
2.1.3.2三种模式
命令行模式 | 控制光标的移动 | ↑,↓,j |
查找 | /字符 | |
进入编辑模式 | i a o | |
粘贴复制一行 | 所需粘贴行开头yy 复制位置p | |
进入底行模式 | : | |
删除当前行 | dd | |
跳转到最后一行 | shift+g | |
跳转到某一行的最后 | shift+$ | |
跳转到某一行的开头 | shift+^ | |
编辑模式 | esc | 推出编辑模式到命令行模式 |
底行模式 | 退出编辑 | :q |
强制退出编辑 | :q! | |
保存并退出 | :wq |
2.1.4查看文件 cat tail more less
cat / etc/sudo.conf | 显示最后一屏内容 |
more / etc/sudo.conf | 可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看 |
less / etc/sudo.conf | 翻页查看,q结束 |
tail -10 / etc/sudo.conf | 指定行数或者动态查看,ctrl+c结束 |
三、linux下启动和关闭nginx的操作
1.找到nginx安装目录 | whereis nginx ---- /usr/local/nginx |
2.进入到安装目录中 | cd /usr/local/nginx/sbin |
3.启动nginx | ./nginx |
4.查看nginx状态 | ps -ef | grep nginx 出现master则启动成功 |
5.关闭nginx命令 | kill -9 8925(上边的进程号) |
6.停止nginx命令 | ./nginx -s stop |
7.重启nginx命令 | ./nginx -s reload |
四、进程命令
4.1查看命令
ps -ef | grep java | 查看java中所有的进程 |
kill -9 java | 杀死java进程 |
五、运行jar文件
java -jar xxxxx.jar | 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 |
java -jar xxxxx.jar & | //当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 |
nohup java -jar xxx.jar & | 不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 |
nohup java -jar xxx.jar >aa.log | 指定输出日志文件,意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 |
六.linux查看磁盘命令
df -h | linux命令查看文件系统内的磁盘空间使用情况。可以显示每个挂载点的磁盘使用量,可用空间,已用空间以及文件系统的类型。使用df命令,可以加上不同的参数来显示不同的信息。使用df -h 命令可以以人类可读的方式显示磁盘使用情况。 |
du -h /path/to/directory | 用于估算文件或者目录的磁盘使用量。它可以递归的计算出目录下所有文件的大小,并显示出总大小,使用du命令时,可以加上不同的参数来显示不同的信息。使用du -h 可以以人类可读的方式显示磁盘使用量。 |
sudo fdisk -l | fdisk命令用于查看和管理磁盘分区,它可以显示磁盘的分区表信息,包括分区类型,起始扇区,结束扇区等。使用fdisk命令时,需要以root的 身份运行。 |
lsblk | 用于列出块设备的信息,包括磁盘,分区,逻辑卷等。它可以显示设备的名称,大小,挂载点等信息。 |
blkid /dev/sdal | 用于显示块设备的属性,包括设备的uuid,文件系统类型等。可以用来查找特定设备的信息。 |
七.linux查看磁盘iostat
linux命令中 iostat是i/o statistics(输入/输出统计)iostat对系统磁盘操作活动进行监视,它的特点是汇报磁盘活动统计情况,同时也会汇报出cpu的使用情况。同vmstat一样,iostat有一个弱点,不能对某个进程进行深入的分析,仅对系统的整体情况做分析,isstat属于sysstat软件包,
直接运行yml install sysstat 直接安装或者是运行apt-get install sysstat 直接安装。
1.命令格式:
iostat【参数】【时间】【次数】
2.命令功能:
通过iostat可以查看CPU,网卡,磁盘,tty设备,CD-ROM等等设备的活动情况,负载信息。
3.命令参数:
-c | 显示cpu使用情况 |
-d | 显示磁盘的使用情况 |
-k | 以kb为单位显示 |
-m | 以M为单位显示 |
-N | 显示磁盘队列(LVM)信息 |
-n | 显示NFS使用情况 |
-p | 显示磁盘和分区情况 |
-t | 显示终端和cpu的信息 |
-x | 显示详细信息 |
-v | 显示版本信息 |
4.使用实例:
示例一:显示所有设备的负载情况
命令:iostat
输出:
说明:
%user | CPU处在用户模式下的时间百分比 |
%nice | CPU处在带NICE值的用户模式下的时间百分比 |
%system | CPU处在系统模式下的时间百分比 |
%iowait | CPU等待输入输出完成时间的百分比 |
%steal | 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比 |
%idle | CPU空闲时间百分比 |
备注:如果%iowait的值过高,表示磁盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU.
示例二:定时显示所有信息
命令:iostat 2 3
输出:
说明:
每隔2秒刷新显示,且显示3次
示例三:显示指定磁盘的信息
命令:iostat -d sda1
输出:
说明:查看指定磁盘sda1的信息。(磁盘在/dev目录下)
tps | 该设备每秒的传输次数,一次传输意思是"一次I/O请求"多个逻辑请求可能会被合并为一次i/o请求,一次传输请求的大小是未知的 |
kB_read/s | 每秒从设备读取的数据量 |
KB_wrtn/s | 每秒从设备写入的数据量 |
kB_read | 读取的总数据量 |
kB_wrtn | 写入的总数据量 |
示例四:显示cpu信息
命令:iostat -c
输出:
八.linux命令进行安装包的压缩和解压缩,挂载等
8.1压缩,解压缩,打包tar命令
命令:tar 选项 包名 【参数】
参数:
选项 | 说明 |
-c | 创建新的备份文件 |
-x | 从备份文件中还原文件 |
-v | 显示命令执行过程 |
-f | 指定备份文件 |
-z | 打包完成后使用gzip命令将文件压缩 |
-j | 打包完成后使用bzip2命令将打包压缩 |
-p | 保留包文件原来的属性 |
sudo tar cvf aaa.tar aaa | 把aaa文件打包成aaa.tar |
sudo tar xvf aaa.tar | 将aaa.tar解包 |
sudo tar zcvf bbb.tar.gz bbb | 把文件bbb打包成bbb.tar.gz |
sudo tar zxvf bbb.tar.gz | 解包bbb.tar.gz |
sudo tar jcvf ddd.tar.bz2 ddd | 将文件ddd打包成ddd.tar.bz2 |
sudo tar jxvf ddd.tar.bz2 | 解包ddd.tar.bz2 |
8.2挂载
windows系统中磁盘分区后可以直接使用,但是linux系统中分区后,还需要格式化,以及挂载。所谓的挂载,就是指将目录作为入口,将磁盘分区中的数据全部放到以该目录为根节点的目录关系树中,这就相当于将文件系统和磁盘进行了链接,指定了某个分区中文件系统访问的位置。linux系统中根目录是整个磁盘访问的基点,因此,根目录必须要挂载到某个分区上。linux系统中通过mount和unmount命令实现分区的挂载和卸载。
8.2.1基本命令:mount [-l][-t ][-o ]
-l : 以列表的形式显示当前已挂载的文件系统
-t:指定要挂载的文件系统的类型。
ISO9660:光盘/光盘镜像
MS-DOS:DOS fat16 文件系统
VFAT:Windows 9x fat32文件系统
NTFS:Windows nt ntfs文件系统
SMBFS:Mount Windows文件网络共享
NFS:linux(unix)文件网络共享
-o: 指定挂载选项,比如读写权限,访问权限。
:指定要挂载的设备名称或者路径
:指定要挂载到的目录路径
8.2.2常见选项
mount支持多种选项,可以组合使用,常见选项:
ro:以只读的模式挂载文件系统
rw:以读写的模式挂载文件系统
remount:重新挂载一个已经挂载的文件系统,可以修改挂载选项
user:允许普通用户挂载文件系统。
nouser:只允许超级用户挂载文件系统。
exec:允许文件系统中执行可执行的文件
noexec:禁止在文件系统中执行可执行的文件
8.2.3常用命令
mount /dev/sdb2 /mnt | 将设备 dev/sdb2 挂载到mnt目录下 |
mount -l | 显示当前已挂载的文件系统 |
mount -o ro /dev/sdb2 /mnt | 以只读的形式 将设备 dev/sdb2 挂载到mnt目录下 |
mount -o remount,rw /dev/sdb2 /mnt | 重新挂载以读写的形式 将设备 dev/sdb2 挂载到mnt目录下 |
示例一:如何挂载NTFS格式的设备
安装ntfs -3g的软件包 | sudo apt-get install ntfs-3g |
创建一个用于挂载的目录 | sudo mkdir /mnt/ntfs-drive |
运行fdisk -l确定要挂载的磁盘名称 | sudo fdisk -l |
使用mount 将设备NTFS挂载到目录下 | sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs-drive |
NTFS设备挂载需要注意:
1.挂载NTFS设备时通常需要root或者是sudo权限,所以执行的命令前要加sudo
2.挂载的设备在重启后不会自动挂载,如果想要重启后自动挂载的话,需要将挂载命令写到/etc/fstab文件下
3.在使用NTFS设备时,要注意文件权限和访问权限,确保数据的安全性和完整性。
示例二:如何挂载EX-FAT设备
安装软件包 | sudo apt-get install exfat-utils exfat fuse |
创建一个用于挂载的目录 | sudo mkdir /mnt/exfat |
运行fdisk -l确定要挂载的磁盘名称 | sudo fdisk -l |
使用mount 将设备exfat挂载到目录下 | sudo mount -t exfat /dev/sdb1 /mnt/exfat |
确认是否挂载成功 | mount | grep exfat |
卸载 | sudo umount /mnt/exfat 或者是 sudo umount -f /mnt/exfat |
九.查看内存
查看内存的命令free
free命令可以显示系统内存的使用情况,包括物理内存,交换分区,缓冲区和缓存。
参数:
-h | 以人类可读的方式显示信息,以kB,MB,GB |
-m | 以MB为单位显示信息 |
-g | 以GB为单位显示信息 |
-t | 显示总计信息 |
十.查看防火墙
查看防火墙状态 | systemctl status firewalld |
暂时关闭防火墙 | systemctl stop firewalld |
永久关闭防火墙 | systemctl disable firewalld |
重启防火墙 | systemctl enable firewalld |
十一.dd命令
11.1dd介绍
主要用于linux中读取,转换,并输出数据
注意:指定数字的地方若以下列字符结尾,则乘以响应的数字:b=512;c=1;k=1024;w=2
11.2 dd的相关解释
备份检测性能
if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。
of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。
bs 代表字节为单位的块大小。
count 代表被复制的块数。
/dev/zero 是一个字符设备,会不断返回 0 值字节(\0)。
if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:read and write up to BYTES bytes at a time (default: 512); overrides ibs and obs。
cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
count=N : copy only N input blocks
conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
11.3拷贝内存到硬盘上
dd if= /dev/mem of =/root/min.bin bs=1024(指定块大小为1k)
11.4常用命令
11.4.1 创建指定大小的文件
[root@192 ~]# dd if=/dev/zero of=/tmp/1G.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 31.19 s, 34.4 MB/s
11.4.2给磁盘分区做备份
11.4.2.1磁盘分区备份
dd if=/dev/sda1 of=/root/sda1.bak
11.4.2.2磁盘分区还原
dd if=/root/sda1.bak of=/dev/sda1
11.4.3清空磁盘
[root@192 ~]# dd if=/dev/zero of=/dev/sdb
dd: writing to ‘/dev/sdb’: No space left on device
41943041+0 records in
41943040+0 records out
21474836480 bytes (21 GB) copied, 172.229 s, 125 MB/s
11.4.4给磁盘做备份
11.4.4.1备份磁盘
[root@192 ~]# dd if=/dev/sda of=/dev/sdb
41943040+0 records in
41943040+0 records out
21474836480 bytes (21 GB) copied, 249.87 s, 85.9 MB/s
11.4.4.2还原磁盘
dd if=/dev/sdb of=/dev/sda
11.4.5备份分区表
11.4.5.1备份分区表
dd if=/dev/sda of=/root/mbr.bak bs=512 count=1
11.4.5.2还原分区表
dd if=/root/mbr.bak of=/dev/sda
11.4.6给虚拟机创建一个空磁盘文件
11.4.6.1制作空文件
[root@192 ~]# dd if=/dev/zero of=aabb.img bs=1M count=256
256+0 records in
256+0 records out
268435456 bytes (268 MB) copied, 0.132996 s, 2.0 GB/s
11.4.7linux下制造启动盘
dd if=boot.img of=/dev/fd0 bs=1440k
十二.权限命令chmod
12.1 文件和目录权限概述
在linux系统中,每个文件和目录都有一组权限,用于确定对他们的访问权限。
权限分为三个类别:用户(Owner),用户组(Group) 和其他用户(Others)
每个类别都有三个权限标志:
r(读取):允许读取文件的内容,查看目录中的文件列表
w(写入):允许修改文件的内容,创建,删除或者重命名目录中的文件。
x(执行):允许以可执行文件的形式运行文件或者进入目录。
权限标志可以用数字表示:
r:4
w:2
x:1
将数字相加,可以得到八进制的权限值。例如:
rwx:4+2+1(完全权限)
rw-:4+2(读写权限)
r--:4(只读权限)
12.2使用chmod命令更改文件或者目录权限
基本语法:
chmod [选项] 权限模式 文件/目录
选项:用于指定chmod命令的各种选项,例如递归修改权限,详细输出等等。
权限模式:用于指定要设置的权限模式,可以使用数字形式(例如755) 或者符号形式(u+rwx)
文件/目录:要修改权限的文件或者目录的路径
12.2.1 使用数字形式修改权限
使用数字形式,可以直接为文件和目录分配权限值。每个类别的权限使用三位数字表示。
以下是数字形式修改权限的示例:
chmod 755 file.txt:将file.txt文件的权限设置为rwxr-xr-x(所有者具有读、写和执行权限,组和其他用户具有读和执行权限)。
chmod 644 file.txt:将file.txt文件的权限设置为rw-r--r--(所有者具有读和写权限,组和其他用户只有读权限)。
chmod 700 directory:将directory目录的权限设置为rwx------(仅所有者具有读、写和执行权限)。
12.2.2 使用符号形式修改权限
使用符号形式,可以基于当前权限进行增加或减少。
以下是符号形式修改权限的示例:
`chmod u+r file
chmod u+r file.txt
将file.txt文件的权限添加了读取权限(r)给所有者(u)。
chmod g-w file.txt
从file.txt文件的权限中移除了写入权限(w)给组(g)。
chmod o+x directore
给directory目录添加了执行权限(x)给其他用户(o)。
12.2.3 使用符号形式和逻辑运算符修改权限
符号形式还支持逻辑运算符,可以同时进行多个权限的修改。
以下是逻辑运算符修改权限的示例:
chmod u=rw,g+r,o-rwx file.txt
设置file.txt文件的权限为:所有者(u)具有读写权限,组(g)具有读权限,其他用户(o)没有任何权限。
chmod u+w,g+x,o=rw directory设置directory目录的权限为:所有者(u)具有写权限,组(g)具有执行权限,其他用户(o)具有读写权限。
12.3 修改文件和目录权限示例
下面是一些示例,演示如何使用chmod命令修改文件和目录的权限。
12.3.1 修改文件权限
打开终端并执行以下命令:
chmod 644 file.txt
将file.txt文件的权限设置为rw-r--r--(所有者具有读和写权限,组和其他用户只有读权限)。
使用以下命令验证文件权限的更改:
ls -l file.txt
终端会显示文件的详细信息,包括权限。
12.3.2 修改目录权限
打开终端并执行以下命令:
chmod 755 directory
将directory目录的权限设置为rwxr-xr-x(所有者具有读、写和执行权限,组和其他用户具有读和执行权限)。
使用以下命令验证目录权限的更改:
ls -ld directory
终端会显示目录的详细信息,包括权限。
12.4. 总结
本文详细介绍了如何在Linux系统中更改文件和目录的权限。使用chmod命令,您可以通过数字形式或符号形式设置文件和目录的权限。确保正确设置文件和目录的权限可以保护您的数据安全,并确保只有授权用户能够访问和修改文件和目录。熟悉chmod命令的使用方法将帮助您更好地管理和保护您的系统和文件。