项目实用linux 操作详解-轻松玩转linux

news2024/11/15 20:28:35

我之前写过完整的linux系统详解介绍:
LInux操作详解一:vmware安装linux系统以及网络配置
LInux操作详解二:linux的目录结构
LInux操作详解三:linux实际操作及远程登录
LInux操作详解四:linux的vi和vim编辑器
LInux操作详解五:linux的开机、重启和用户登录注销
LInux操作详解六:linux的用户和组管理
LInux操作详解七:linux实用指令大全
LInux操作详解八:linux组管理和权限管理
LInux操作详解九:linuxcrond任务调度—定时任务
LInux操作详解十: Linux 磁盘分区、挂载
LInux操作详解十一:linux进程管理
LInux操作详解十二:RPM和YUM

但是过于系统,故此在这里进行一个精简。意在为设计项目运用上,为进阶程序员准备
后续也会持续增加

系统以及优化

1:arch 显示机器的处理器架构

[root@root]# arch
x86_64
[root@root]# uname -m
x86_64
[root@root]# uname -r
3.10.0-1062.el7.x86_64

2:uname - 打印系统信息。

  • -a, --all 按顺序打印全部信息,如果 -p 和 -i 的信息是未知,那么省略。
  • -s, --kernel-name 打印内核名称。
  • -n, --nodename 打印网络节点主机名称。
  • -r, --kernel-release 打印内核release。
  • -v, --kernel-version 打印内核版本。
  • -m, --machine 打印机器名称。
  • -p, --processor 打印处理器名称。
  • -i, --hardware-platform 打印硬件平台名称。
  • -o, --operating-system 打印操作系统名称。
  • –help 显示帮助信息并退出。
  • –version 显示版本信息并退出。
# uname -m 显示机器的处理器架构
[root@root]# uname -m
x86_64
#  uname -r 显示正在使用的内核版本 
[root@root]# uname -r
3.10.0-1062.el7.x86_64

3:cat /proc/version 显示内核的版本

4:df-显示磁盘空间使用情况

获取硬盘被占用空间,剩余空间等信息。默认所有当前被挂载的文件系统的可用空间都会显示
默认情况下,磁盘空间以 1KB 为单位进行显示

常用参数:

  • -a 全部文件系统列表
  • -h 以方便阅读的方式显示信息
  • -i 显示inode信息
  • -k 区块为1024字节
  • -l 只显示本地磁盘
  • -T 列出文件系统类型
  • df -h 查看本服务器所有磁盘的占用情况

5:du- 显示每个文件和目录的磁盘使用空间

与 df 命令不同的是 du 命令是对文件和目录磁盘使用的空间的查看
命令格式:du [选项] [文件]
常用参数:

  • -a 显示目录中所有文件大小
  • -k 以kb为单位显示文件大小
  • -m 以MB为单位显示文件大小
  • -g 以GB为单位显示文件大小
  • -h 以易读方式显示文件大小
  • -s 仅显示总计
  • -c 或 --total 除了显示个别目录或文件大小,同时也显示所有的目录或文件的大小总和
  • du -ah --max-depth=1 显示当前目录下各个文件夹大小

6:free - 显示系统内存使用情况,包括物理内存、swap内存和内核cache内存

命令参数:

  • -b 以Byte显示内存使用情况
  • -k 以kb为单位显示内存使用情况
  • -m 以mb为单位显示内存使用情况
  • -g 以gb 为单位显示内存使用情况
  • -s<间隔秒数>持续显示内存
  • -t 显示内存使用总合
[root@harbor-host ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        3.8G        447M        368M        2.0G        1.7G
Swap:          8.0G        1.2G        6.8G
  • total:#服务器内存总大小:7.6G
  • used:#已经使用了多少内存:3.8G,已用内存总量(used = total-free-buffers-cache,这里没减去shared,我理解是shared是used的其中一部分)
  • free:#未被任何应用使用的真实空闲内存,也叫未被分配出去的内存,(真正尚未被使用的物理内存数)
  • shared:#表示多个进程共享的内存总额。
  • buff/cache: #表示buffers和cache所用总量的总和(buffers为内核缓冲区所用的内存,cache为页缓存和slabs所用的内存容量),也有人说是表示磁盘缓存的大小。

远程操作

1:ssh- 远程登录服务器

ssh(选项)(参数)

  • -1:强制使用ssh协议版本1;
  • -2:强制使用ssh协议版本2;
  • -4:强制使用IPv4地址;
  • -6:强制使用IPv6地址;
  • -A:开启认证代理连接转发功能;
  • -a:关闭认证代理连接转发功能;
  • -b:使用本机指定地址作为对应连接的源ip地址;
  • -C:请求压缩所有数据;
  • -F:指定ssh指令的配置文件;
  • -f:后台执行ssh指令;
  • -g:允许远程主机连接主机的转发端口;
  • -i:指定身份文件;
  • -l:指定连接远程服务器登录用户名;
  • -N:不执行远程指令;
  • -o:指定配置选项;
  • -p:指定远程服务器上的端口;
  • -q:静默模式;
  • -X:开启X11转发功能;
  • -x:关闭X11转发功能;
  • -y:开启信任X11转发功能。
# ssh 用户名@远程服务器地址
ssh user1@172.24.210.101
# 指定端口
ssh -p 2211 root@140.206.185.170

# ssh 
ssh user@ip -p22 # 默认用户名为当前用户名,默认端口为 22
ssh-keygen # 为当前用户生成 ssh 公钥 + 私钥
ssh-keygen -f keyfile -i -m key_format -e -m key_format # key_format: RFC4716/SSH2(default) PKCS8 PEM
ssh-copy-id user@ip:port # 将当前用户的公钥复制到需要 ssh 的服务器的 ~/.ssh/authorized_keys,之后可以免密登录

2:scp 在本地主机和远程主机之间复制文件

scp(选项)(参数)

  • -1:使用ssh协议版本1;
  • -2:使用ssh协议版本2;
  • -4:使用ipv4;
  • -6:使用ipv6;
  • -B:以批处理模式运行;
  • -C:使用压缩;
  • -F:指定ssh配置文件;
  • -i:identity_file 从指定文件中读取传输时使用的密钥文件(例如亚马逊云pem),此参数直接传递给ssh;
  • -l:指定宽带限制;
  • -o:指定使用的ssh选项;
  • -P:指定远程主机的端口号;
  • -p:保留文件的最后修改时间,最后访问时间和权限模式;
  • -q:不显示复制进度;
  • -r:以递归方式复制。
#从远程机器复制文件到本地指定目录
scp -r root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

#上传本地文件到远程机器指定目录
scp /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest

# 上传本地文件到远程机器指定目录,并指定端口 2222
scp -rp -P 2222 /opt/soft/nginx-0.5.38.tar.gz root@10.10.10.10:/opt/soft/scptest

进程管理

1:ps:显示系统执行的进程

查看进行使用的指令是 ps ,一般来说使用的参数是 ps -aux

  • -a:显示当前终端所有进程信息

  • -u:以用户的格式显示进程信息

  • -x:显示后台进程运行的参数
    在这里插入图片描述
    例如指令:ps –aux | grep sshd ,比如我看看有没有 sshd 服务

  • System V 展示风格

  • USER:用户名称

  • PID:进程号

  • %CPU:进程占用 CPU 的百分比

  • %MEM:进程占用物理内存的百分比

  • VSZ:进程占用的虚拟内存大小(单位:KB)

  • RSS:进程占用的物理内存大小(单位:KB)

  • TT:终端名称,缩写 .

  • STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等

  • STARTED:进程的启动时间

  • TIME:CPU 时间,即进程使用 CPU 的总时间

  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

2:ps -ef 查看父进程

ps -ef,以全格式显示当前所有的进程,查看进程的父进程。

  • -e 显示所有进程
  • -f 全格式
    在这里插入图片描述
  • UID:用户 ID
  • PID:进程 ID
  • PPID:父进程 ID
  • C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
  • STIME:进程启动的时间
  • TTY:完整的终端名称
  • TIME:CPU 时间
  • CMD:启动进程所用的命令和参数

3:top:动态监控进程

介绍;top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程

基本语法:top [参数]

常见参数

  • -b 批处理
  • -c 显示完整的治命令
  • -I 忽略失效过程
  • -s 保密模式
  • -S 累积模式
  • -i<时间> 设置间隔时间
  • -u<用户名> 指定用户名
  • -p<进程号> 指定进程
  • -n<次数> 循环显示的次数

可以在top 页面进行交互操作,说明:

  • P:以CPU使用率排序,默认航是此项
  • M:以内存的使用率排序
  • N:以PID排序
  • Q:退出top
    在这里插入图片描述
实例展示:
top - 00:05:02 up 204 days,  9:56,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  68 total,   1 running,  67 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.7 sy,  0.0 ni, 98.3 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016168 total,    65948 free,   335736 used,   614484 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   517700 avail Mem 
 
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND     
 7110 root      10 -10  130476   9416   6116 S  1.3  0.9 141:26.59 AliYunDun   
15845 root      20   0   47064   4320   2180 S  0.3  0.4   2:51.16 nginx   

前五行是当前系统情况整体的统计信息区

第一行,任务队列信息,同 uptime 命令的执行结果:

  • 00:05:02 — 当前系统时间
  • up 204 days, 9:56 — 系统已经连续运行了 204 天 9 小时 56 分钟未重启
  • 2 users — 当前有 2 个用户登录系统
  • load average: 0.00, 0.01, 0.05 — load average 后面的三个数分别是 0 分钟、1 分钟、5分钟的负载情况,load average 数据是每隔 5 秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了

第二行,Tasks — 任务(进程):

  • 系统现在共有 68 个进程,其中处于运行中的有 1 个,休眠中 67 个,停止 0 个,僵死 0个

第三行,cpu状态信息:

  • 0.7 us — 用户空间占用 CPU 的百分比
  • 0.7 sy — 内核空间占用 CPU 的百分比
  • 0.0 ni — 改变过优先级的进程占用 CPU 的百分比
  • 98.3 id — 空闲CPU百分比
  • 0.3 wa — IO 等待占用 CPU 的百分比
  • 0.0 hi — 硬中断(Hardware IRQ)占用 CPU 的百分比
  • 0.0 si — 软中断(Software Interrupts)占用 CPU 的百分比
  • 0.0 st - 虚拟机占用百分比

第四行,内存状态:

  • 1016168 total — 物理内存总量
  • 65948 free — 空闲内存总量
  • 335736 used — 使用中的内存总量
  • 614484 buff/cache — 缓存的内存量

第五行,swap交换分区信息,具体信息说明如下:

  • 0 total — 交换区总量
  • 0 free — 空闲交换区总量
  • 0 used — 使用的交换区总量
  • 517700 avail Mem - 可用内存

第七行以下:各进程(任务)的状态监控,项目列信息说明如下:

  • PID — 进程id
  • USER — 进程所有者
  • PR — 进程优先级
  • NI — nice值。负值表示高优先级,正值表示低优先级
  • VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR — 共享内存大小,单位kb
  • S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU — 上次更新到现在的CPU时间占用百分比
  • %MEM — 进程使用的物理内存百分比
  • TIME+ — 进程使用的CPU时间总计,单位1/100秒
  • COMMAND — 进程名称(命令名/命令行)

4:netstat 查看系统网络情况

netstat 参数:

  • -a或–all:显示所有连线中的Socket;
  • -A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;
  • -c或–continuous:持续列出网络状态;
  • -C或–cache:显示路由器配置的快取信息;
  • -e或–extend:显示网络其他相关信息;
  • -F或–fib:显示FIB;
  • -g或–groups:显示多重广播功能群组组员名单;
  • -h或–help:在线帮助;
  • -i或–interfaces:显示网络界面信息表单;
  • -l或–listening:显示监控中的服务器的Socket;
  • -M或–masquerade:显示伪装的网络连线;
  • -n或–numeric:直接使用ip地址,而不通过域名服务器;
  • -N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;
  • -o或–timers:显示计时器;
  • -p或–programs:显示正在使用Socket的程序识别码和程序名称;
  • -r或–route:显示Routing Table;
  • -s或–statistice:显示网络工作信息统计表;
  • -t或–tcp:显示TCP传输协议的连线状况;
  • -u或–udp:显示UDP传输协议的连线状况;
  • -v或–verbose:显示指令执行过程;
  • -V或–version:显示版本信息;
  • -w或–raw:显示RAW传输协议的连线状况;
  • -x或–unix:此参数的效果和指定"-A unix"参数相同;

常用命令:

1 列出所有端口 (包括监听和未监听的)
	列出所有端口 netstat -a
	列出所有 tcp 端口 netstat -at
	列出所有 udp 端口 netstat -au
 
2 列出所有处于监听状态的 Sockets
	只显示监听端口 netstat -l
	只列出所有监听 tcp 端口 netstat -lt
	只列出所有监听 udp 端口 netstat -lu
	只列出所有监听 UNIX 端口 netstat -lx
 
3 显示每个协议的统计信息
	显示所有端口的统计信息 netstat -s
	显示 TCP 或 UDP 端口的统计信息 netstat -st-su
 
4netstat 输出中显示 PID 和进程名称 netstat-p
	netstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中, 这样 debugging 的时候可以很方便的发现特定端口运行的程序。
 
5netstat 输出中不显示主机,端口和用户名 (host, port or user)
	当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。
同样可以加速输出,因为不用进行比对查询。
	# netstat -an
如果只是不想让这三个名称中的一个被显示,使用以下命令
	# netsat -a --numeric-ports
	# netsat -a --numeric-hosts
	# netsat -a --numeric-users
 
6 持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。
	# netstat -c
 
7 显示系统不支持的地址族 (Address Families)
netstat --verbose
 
8 显示核心路由信息 netstat -r
# netstat -r
注意: 使用 netstat -rn 显示数字格式,不查询主机名称。
 
[root@localhost ~]# netstat -rn

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
80.80.80.0      0.0.0.0         255.255.255.0   U         0 0          0 eth8
10.228.90.0     0.0.0.0         255.255.255.0   U         0 0          0 eth9
1.1.0.0         0.0.0.0         255.255.255.0   U         0 0          0 tap0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth8
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth9
10.0.0.0        10.228.90.1     255.0.0.0       UG        0 0          0 eth9
0.0.0.0         1.1.0.3         0.0.0.0         UG        0 0          0 tap0
 
 
表头说明: 
	Destination:目标网络或者主机。
	Gateway:网关地址,如果没有设置则为*。
	Genmask:目标网络掩码;如果默认路由则用"0.0.0.0"。
	Flags标志说明:
	U Up表示此路由当前为启动状态
	H Host,表示此网关为一主机
	G Gateway,表示此网关为一路由器
	R Reinstate Route,使用动态路由重新初始化的路由
	D Dynamically,此路由是动态性地写入
	M Modified,此路由是由路由守护程序或导向器动态修改! 表示此路由当前为关闭状态
	Iface:对于这个路由,数据包将要发送到那个接口(网卡)。

9 找出程序运行的端口
	并不是所有的进程都能找到,没有权限的会不显示,使用 root 权限查看所有的信息。
	# netstat -ap | grep ssh
 
	找出运行在指定端口的进程
	# netstat -an | grep ':80'

3.10 显示网络接口列表
# netstat -i

显示详细信息,像是ifconfig 使用 netstat-ie
 
[root@localhost ~]# netstat -i
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth8       1500   0  9150807      0      0      0      128      0      0      0 BMRU
eth9       1500   0  9297220      0      0      0   144187      0      0      0 BMRU
eth12      1500   0   294871      0      0      0        6      0      0      0 BMRU
eth13      1500   0        0      0      0      0        6      0      0      0 BMRU
lo        16436   0 95290843      0      0      0 95290843      0      0      0 LRU
tap0       1500   0        0      0      0      0       48      0      0      0 BRU
tap0:1     1500   0      - no statistics available -                            BRU
 
说明:
    MTU和Met字段表示的是接口的MTU和度量值值;RX和TX这两列表示的是已经准确无误地收发了多少数据包( RX - OK / TX - OK)、产生了多少错误( RX-ERR/TX-ERR)、丢弃了多少包(RX-DRP/TX-DRP),由于误差而遗失了多少包(RX-OVR/TX-OVR);最后一列展示的是为这个接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。它们的说明如下:
 
	B 已经设置了一个广播地址。
	L 该接口是一个回送设备。
	M 接收所有数据包(混乱模式)。
	N 避免跟踪。
	O 在该接口上,禁用A R P。
	P 这是一个点到点链接。
	R 接口正在运行。
	U 接口处于“活动”状态。

文件目录类;

1:pwd指令;显示当前路径;

在这里插入图片描述

2:cd指令;cd 【参数】切换到指定目录;

cd ~或者cd 回到自己的家目录;

  • cd… 回到当前目录的上一级目录;
  • cd …/ 相对路径的上一级.cd …/…/ 上两级
  • cd /root 绝对路径的切换

3:ls指令;查看当前目录的 内容和目录;

ls [选项] 【目录或文件】

  • ls -a 列出目录下所有文件,包含以.开始的隐藏文件
  • ls -A 列出除.及…的其他文件
  • ls -r 文件以反序排列
  • ls -t 文件以修改时间排序
  • ls -S 文件以大小排序
  • ls -h 以易读大小显示
  • ls -l 除了文件名外,还将文件的权限、所有者、文件大小等详细信息显示出来
  • ls -lhrt 按照易读方式按时间反序排序,并显示文件详细信息
  • ls -lrS 按大小反序显示文件详细信息
  • ls -l t* 列出当前目录中所有以“t”开头的目录的详细内容

4:mkdir 创建目录;

mkdir 【选项】 要创建的目录

-p 创建多级目录
在这里插入图片描述

5:rmdir指令;删除空目录

rmdir 【选项】 要删除的空目录

  • rmdir -v 删除时有提示
  • rmdir -p 如果一个目录和子目录皆为空,则在删除子目录时,父目录一并删除
  • rmdir -p a/b/c 等同于rmdir a/b/c a/b a
    在这里插入图片描述

删除有文档的目录
在这里插入图片描述

6:touch指令;创建新的空白文件;

在这里插入图片描述

7:cp指令;拷贝文件到指定的目录;

cp 【选项】 源 目标

常用指令:

  • -i 提示
  • -r 复制目录以及目录内所有的文件
  • -a 复制的文件与原文件时间一样
  • cp -ai a.txt test 复制a.txt文件到test目录下,保持原文件时间,如果test目录中已经存在a.txt文件,提示是否覆盖。
  • cp -s a.txt a_link.txt 为a.txt文件创建一个链接

在这里插入图片描述

在这里插入图片描述

8:rm指令;删除文件或者目录

rm 【选项】 文件或目录

  • rm -f 强制删除,忽略不存在的文件,不给出提示
  • rm -i 交互式删除,删除前给提示
  • rm -r 递归删除目录下文件,以及子目录下的文件
  • rm -i *.log 删除任何.log文件,删除前逐一询问确认
  • rm -rf test 强制删除test目录或文件,无需确认

在这里插入图片描述

9:mv指令;移动文件或者重命名;

  • mv test.txt test2.txt 将文件test.txt重命名为test2.txt
  • mv log.txt log2.txt /log 将log.txt、log2.txt文件移动到/log目录中
  • mv -i log.txt log2.txt 将文件log.txt更名为log2.txt,如果log2.txt已经存在,则询问是否覆盖。
  • mv -f log.txt log2.txt 将文件log.txt更名为log2.txt,如果log2.txt已经存在,直接覆盖。
  • mv * …/ 移动当前文件夹下的所有文件到上一级目录

mv oldfilename newfilename 文件重命名

在这里插入图片描述

mv filename /root/test 文件移动

在这里插入图片描述

10:cat 指令;查看文件内容,只读形式;

cat 【选项】要查看的文件;

-n 显示行号

在这里插入图片描述

11:more 指令;是一个你只的基于vi编译器的文本过滤器;

more 要查看的文件

在这里插入图片描述

12:less指令;分屏查看文件;

less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

less 要查看的文件

less -N fielame 带行号的查看
在这里插入图片描述

13:>指令和>>指令;输出和追加;

  • > 输出重定向,会将原来的文件内容覆盖;

  • >> 不会覆盖文件的内容,会将信息添加到文件末尾;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

14:echo指令;输出内容到控制台;

echo 【选项】 输出内容;

在这里插入图片描述

15:head指令;用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容

  • head 文件;默认显示文件开头10行

  • -n <行数> 显示的行数(行数为复数表示从后向前数)

  • head a.log -n 20 显示a.log文件中前20行数据

  • head -c 20 a.log 显示a.log文件前20字节

  • head -n -10 a.log 显示a.log最后10行数据

在这里插入图片描述

16:tail指令; 默认输出文章尾部10行的内容;

常用参数:

  • -f 循环读取(常用于查看程序执行后递增的日志文件)
  • -n<行数> 显示行数(从后向前)
  • tail -n 100 显示后100行日志文件
  • tail -f log.log 循环读取日志文件逐渐增加的内容
  • tail -200f log.log 循环读取日志文件后200行的内容

17:ln指令;软连接指令;类似于windows的快捷方式;

ln -s 源文件名 软连接名
在这里插入图片描述

18:history指令;查看执行过的指令;

在这里插入图片描述

执行曾经执行过的指令;
在这里插入图片描述

18:chmod 修改文件或目录的权限

该命令有两种用法:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法
每一文件或目录的访问权限都有三组,每组用三位代号表示:

  • 文件属主的读、写和执行权限
  • 与属主同组的用户的读、写和执行权限
  • 系统中其他用户的读、写和执行权限
常用参数:
	-c 当发生改变时,报告处理信息
	-R 处理指定目录以及其子目录下的所有文件
权限范围:
	u:目录或者文件的当前的用户
	g:目录或者文件的当前的群组
	o:除了目录或者文件的当前用户或者群组之外的用户
	a:所有的用户及群组
 
权限代号:
	r :读权限,用数字4表示
	w :写权限,用数字2表示
	x :执行权限,用数字1表示
	- :删除权限,用数字0表示
	s :特殊权限
例如:chmod -R 755 test.log	 这相当于 u=rwx,g=rx,o=rx
	 chmod a+x test.log  增加文件所有用户组可执行权限

19:chown 修改文件或目录的所有者,操作权限为root用户

  • 用户可以是用户名或者用户 ID
  • 组可以是组名或者组 ID
  • 文件是以空格分开的要改变权限的文件列表,支持通配符
常用参数:
	-c 显示更改部分的信息
	-R 处理指定的目录及子目录
 
chown -c log:log a.txt 改变文件a.txt的拥有者和群组都为log,并显示改变信息
chown -c :log a.txt 改变文件a.txt的群组为log,并显示改变信息
chown -c log a.txt  改变文件a.txt的拥有者为log,并显示改变信息
chown -cR log: log/ 改变文件夹log及子文件、目录属主为log

时间日期类;

1:date指令;显示当前日期;

date 显示当前日期

date +%Y 显示当前年

date +%m 显示当前月

date +%d 显示当前日

date “+%Y-%m-%d %H:%M:%S” 显示当前指定格式的时间

在这里插入图片描述

2:date 指令;设置服务器当前时间;

date -s 时间字符串

3:cal指令;查看当前日历

cal 【选项】

在这里插入图片描述

查看指定年的日历

在这里插入图片描述

搜索查找类的指令;

1:find指令;

find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。

find 【搜索范围】【选项】文件名

  • -name 按照名字查找

  • -user 按照作者查找

  • -size 按照大小查找,+n 大于 -n 小于 n 等于

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2:locate指令;

locaate 指令可以快速定位文件路径。locate 指令利用事先建立的系统中所有文件名称及路径的locate 数据库实现快速定位给定的文件。Locate 指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新 locate 时刻。

local 搜索文件

由于 locate 指令基于数据库进行查询,所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
在这里插入图片描述

3:grep指令和管道符|

grep 过滤查找 , 管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。

grep [选项] 查找内容 源文件

  • -n 显示匹配行和匹配行号
  • -i 忽略大小写

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

压缩与解压缩

1:gzip和gunzip指令;

gzip 压缩文件,只能将文件压缩为*.gz 文件,不能直接压缩目录,当我们使用 gzip 对文件进行压缩后,不会保留原来的文件。

gunzip 解压缩文件

在这里插入图片描述
在这里插入图片描述

2:zip/unzip 指令

zip xxx.zip 源文件 用于压缩文件

-r 递归压缩

-x 排除某个文件
在这里插入图片描述
在这里插入图片描述

unzip 解压后的路径 压缩文件 用于解压的,这个在项目打包发布中很有用的

-d 指定目录

在这里插入图片描述

3:tar指令;tar是打包指令,最后打包的是.tar.gz文件

tar xxx.tar.gz 打包的内容

命令参数:
	-c 建立新的压缩文件
	-f 指定压缩文件
	-r 添加文件到已经压缩文件包中
	-u 添加改了和现有的文件到压缩包中
	-x 从压缩包中抽取文件
	-t 显示压缩文件中的内容
	-z 支持gzip压缩
	-j 支持bzip2压缩
	-Z 支持compress解压文件
	-v 显示操作过程
 
示列:
	tar -cvf log.tar 1.log,2.log 将1.log和2.log文件全部打成tar包
	tar -zcvf /temp/log.tar.gz /log 将/log下所有文件及目录打包到指定的目录,并使用gz压缩
	tar -ztvf /temp/log.tar.gz 查看刚打包的文件内容
	tar -zxvf log.tar.gz 解压这个log.tar.gz文件
	tar --exclude /log/mylog/ -zcvf /tmp/loglog.tar.gz /log   压缩打包/log,排除/log/mylog

压缩文件的例子

在这里插入图片描述
解压到当前目录
在这里插入图片描述

解压到指定目录;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1935427.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode 3112.访问消失节点的最少时间:单源最短路的Dijkstra算法

【LetMeFly】3112.访问消失节点的最少时间&#xff1a;单源最短路的Dijkstra算法 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-time-to-visit-disappearing-nodes/ 给你一个二维数组 edges 表示一个 n 个点的无向图&#xff0c;其中 edges[i] [ui, vi, l…

【JavaEE】CAS原理实现 + 常见应用

本文基于jdk8 参考&#xff1a; 黑马程序员深入学习Java并发编程&#xff0c;JUC并发编程全套教程_哔哩哔哩_bilibili CAS原理 CAS&#xff1a;比较和交换(设置) Compare And Swap(Set)。当A的值为5的时候&#xff0c;给A设置值为10。这里涉及到的比较和设置值的操作是原子的…

SAP代理商哲讯智能携手合肥企业,共塑SAP系统开发新篇章

在数字化转型的浪潮中&#xff0c;SAP开发作为企业信息化建设的重要一环&#xff0c;对于提升企业的运营效率和市场竞争力具有至关重要的作用。合肥&#xff0c;作为中国东部地区的重要城市之一&#xff0c;拥有众多企业正积极探索SAP开发的可能性。哲讯智能科技有限公司&#…

【昇思25天学习打卡营第25天 | 基于MindSpore通过GPT实现情感分类】

学习心得&#xff1a;基于MindSpore通过GPT实现情感分类 摘要 本文通过一个具体的实验案例&#xff0c;详细阐述了如何使用华为的MindSpore框架结合GPT模型来实现情感分类任务。从环境配置到模型训练&#xff0c;再到评估和测试&#xff0c;整个流程清晰、系统&#xff0c;为…

第三篇 Vue项目目录结构介绍

1、最外层目录结构 passagerFrontPage ├── .vscode //vscode配置&#xff0c;不用理会 ├── node_modules //项目依赖&#xff0c;npm install命令执行后自动生成 ├── public //公共资源存放 ├── src //源码 ├── tests //选装&#xff1a;测试模块 ├── .git…

华为云安全事件深度剖析与防范策略

华为云安全事件深度剖析与防范策略 引言 随着云计算技术的飞速发展&#xff0c;企业越来越依赖云服务来提升业务效率和创新能力。然而&#xff0c;云服务在带来便利的同时&#xff0c;也伴随着一系列复杂的安全挑战。华为云作为国内领先的云服务提供商&#xff0c;其安全性直接…

Linux网络——TcpServer

一、UDP 与 TCP 在现实生活中&#xff0c;Udp 类似于发传单&#xff0c;Tcp 类似于邮局的挂号信服务。 1.1 UDP&#xff08;用户数据报协议&#xff09; 无连接&#xff1a;发放传单时&#xff0c;你不需要提前和接受传单的人建立联系&#xff0c;直接把传单发出去。不可靠&…

Ubantu 使用 docker 配置 + 远程部署 + 远程开发

大家好我是苏麟 , Ubantu 一些配置 . 视频 : 服务器很贵&#xff1f;搞台虚拟机玩玩&#xff01;保姆级 Linux 远程开发教程_哔哩哔哩_bilibili Docker安装及配置 安装命令 : sudo apt install docker.io 查看版本号 : docker -v 查看虚拟机地址命令 : ifconfig 虚拟机地址 或…

服务器数据恢复—RAID5阵列重建重建导致数据丢失的数据恢复案例

服务器数据恢复环境&故障&#xff1a; 一台服务器&#xff0c;有一组由5块硬盘组建的raid5磁盘阵列。 服务器在运行过程中一块有磁盘掉线&#xff0c;由于raid5阵列支持一块磁盘掉线的特性&#xff0c;服务器还在正常工作。不久之后服务器出现故障&#xff0c;管理员在不了…

记一下blender的烘焙贴图的UV特殊用法

就拿这个BOX来说好了 如果使用light map展开是这样的 如果你手动展好的话是这样的 为什么提到这个东西呢 如果有一个物体&#xff0c;你在blender渲染其实使用了程序化方案&#xff0c;且没展UV就做好了颜色&#xff0c;那如果你想要直接拿到他&#xff0c;直接用这个light …

LLM大模型实战项目--基于Stable Diffusion的电商平台虚拟试衣

本文详细讲解LLM大模型实战项目&#xff0c;基于Stable Diffusion的电商平台虚拟试衣 一、项目介绍 二、阿里PAI平台介绍 三、阿里云注册及开通PAI 四、PAI_DSW环境搭建 五、SDLORA模型微调 一、项目介绍 AI虚拟试衣是一种创新的技术&#xff0c;利用人工智能和计算机视觉技…

【C语言】深入解析选择排序

文章目录 什么是选择排序&#xff1f;选择排序的基本实现代码解释选择排序的优化选择排序的性能分析选择排序的实际应用结论 在C语言编程中&#xff0c;选择排序是一种简单且直观的排序算法。尽管它在处理大型数据集时效率不高&#xff0c;但由于其实现简单&#xff0c;常常用于…

IT产品研发全生命周期【详细说明】

阶段步骤任务负责人产品管理用户故事收集和理解用户需求&#xff0c;创建用户故事产品经理需求分类分类用户故事&#xff0c;组织和优先级排序需求经理可行性分析评估需求的技术可行性与实现难度研发经理需求转换将需求转化为具体的产品特性或功能要求需求经理需求管理创建需求…

【机器学习】机器学习与语音识别的融合应用与性能优化新探索

文章目录 引言第一章&#xff1a;机器学习在语音识别中的应用1.1 数据预处理1.1.1 数据去噪1.1.2 数据归一化1.1.3 特征提取 1.2 模型选择1.2.1 隐马尔可夫模型1.2.2 循环神经网络1.2.3 长短期记忆网络1.2.4 Transformer 1.3 模型训练1.3.1 梯度下降1.3.2 随机梯度下降1.3.3 Ad…

Three.JS 使用RGBELoader和CubeTextureLoader 添加环境贴图

导入RGBELoader模块&#xff1a; import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader.js"; 使用 addRGBEMappingk(environment, background,url) {rgbeLoader new RGBELoader();rgbeLoader.loadAsync(url).then((texture) > {//贴图模式 经纬…

基于Linux的USB-wifi配置流程

目录 内核配置 配置 CFG80211 配置usb 配置 Netlink 配置DHCP 工作流程 1.连接到无线网络 2.设置网络接口&#xff1a; 3.验证连接&#xff1a; 4. 接收数据&#xff1a; 最近daisy一直忙活这个linux的wifi驱动和bluze蓝牙驱动&#xff0c;相比较蓝牙&#xff0c;WiFi的驱动和内…

【ARMv8/v9 GIC- 700 系列 2 -- GIC-700 上电控制寄存器 GICR_PWRR】

请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC-700 上电GICR_PWRR 寄存器字段介绍GICR_PWRR 功能说明GICR_PWER 代码配置GICR_PWRR 使用场景GICR_PWRR 注意事项GIC-700 上电 GICR_PWRR(功耗寄存器)是ARM GICv4架构中用于控制GIC-700是否可以关闭电源的寄存器。它通过几个位…

【日记】我倒是想穿可爱的 JK 小裙子,可惜我是哥布林……(704 字)

正文 中午给三盆植物换水&#xff0c;惊叹于文竹的根。长得之长&#xff0c;都能在花盆里盘几圈了。而且我好像有一段时间没换水了&#xff0c;花盆的水中和盆底有了些绿藻。虽然不知道好不好&#xff0c;但我还是清掉了&#xff0c;摸起来黏黏的。而且我也总是觉得单位的水&am…

InceptionV3代码实现(Pytorch)

文章目录 Inception介绍InceptionV3代码实现第一步&#xff1a;定义基础卷积模块第二步&#xff1a;定义Inceptionv3模块InceptionAInceptionBInceptionCInceptionDInceptionE 第三步&#xff1a;定义辅助分类器InceptionAux第四步&#xff1a;搭建GoogLeNet网络第五步*&#x…

算法力扣刷题记录 五十二【617.合并二叉树】

前言 二叉树篇&#xff0c;继续。 记录 五十二【617.合并二叉树】 一、题目阅读 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;。你需要…