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

我之前写过完整的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 -htotal        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 -au2 列出所有处于监听状态的 Sockets只显示监听端口 netstat -l只列出所有监听 tcp 端口 netstat -lt只列出所有监听 udp 端口 netstat -lu只列出所有监听 UNIX 端口 netstat -lx3 显示每个协议的统计信息显示所有端口的统计信息 netstat -s显示 TCP 或 UDP 端口的统计信息 netstat -st-su4netstat 输出中显示 PID 和进程名称 netstat-pnetstat -p 可以与其它开关一起使用,就可以添加 “PID/进程名称” 到 netstat 输出中, 这样 debugging 的时候可以很方便的发现特定端口运行的程序。5netstat 输出中不显示主机,端口和用户名 (host, port or user)当你不想让主机,端口和用户名显示,使用 netstat -n。将会使用数字代替那些名称。
同样可以加速输出,因为不用进行比对查询。# netstat -an
如果只是不想让这三个名称中的一个被显示,使用以下命令# netsat -a --numeric-ports# netsat -a --numeric-hosts# netsat -a --numeric-users6 持续输出 netstat 信息
netstat 将每隔一秒输出网络信息。# netstat -c7 显示系统不支持的地址族 (Address Families)
netstat --verbose8 显示核心路由信息 netstat -r
# netstat -r
注意: 使用 netstat -rn 显示数字格式,不查询主机名称。[root@localhost ~]# netstat -rnKernel 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=rxchmod 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.mzph.cn/bicheng/47913.shtml

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

相关文章

VPN以及GRE和MGRE

VPN VPN — 是虚拟专用网络 通俗地说&#xff0c;就是通过虚拟的手段&#xff0c;将两个独立的网络&#xff0c;穿越一个公共网络进行连接&#xff0c;实现点到点专线的效果&#xff08;可以理解为&#xff1a;一个分公司通过公网和总公司建立点到点的专线连接&#xff09; 现…

数据库理论基础

1.什么是数据库 1.1数据 描述事物的符号记录&#xff0c; 可以是数字、 文字、图形、图像、声音、语言等&#xff0c;数据有多种形式&#xff0c;它们都可以经过数字化后存入计算机。 1.2数据库 存储数据的仓库&#xff0c;是长期存放在计算机内、有组织、可共享的大量数据…

【05】LLaMA-Factory微调大模型——初尝微调模型

上文【04】LLaMA-Factory微调大模型——数据准备介绍了如何准备指令监督微调数据&#xff0c;为后续的微调模型提供高质量、格式规范的数据支撑。本文将正式进入模型微调阶段&#xff0c;构建法律垂直应用大模型。 一、硬件依赖 LLaMA-Factory框架对硬件和软件的依赖可见以下…

Redis高级篇—分布式缓存

目录 Redis持久化 RDB持久化 AOF持久化 RDB与AOF对比 Redis主从 全量同步 增量同步 Redis哨兵 RedisTemplate集成哨兵实现 Redis分片集群 散列插槽 集群伸缩 故障转移 自动故障转移 手动故障转移 RedisTemplate访问分片集群 Redis持久化 RDB持久化 RDB全称Re…

Alpine Linux 轻量级Linux 适合于 docker 容器镜像

Alpine Linux是创始于2010年4月及以前的、一款开源社区开发的、基于musl libc和BusyBox的轻量级Linux发行版&#xff1b;适合用来做路由器、防火墙、VPNs、VoIP 盒子以及服务器的操作系统。 Alpine 的意思是“高山的”。Alpine Linux 围绕 musl libc 和 busybox 构建。这使得它…

LockSupport详解

目录 LockSupport详解1、LockSupport简介LockSupport 类的构造方法LockSupport 类的属性Thread类的parkBlocker属性LockSupport 类的常用方法挂起线程的相关方法唤醒线程的相关方法unpark(Thread thread)方法注意点LockSupport使用示例判断park的条件建议使用while而不是if引出…

算法篇 滑动窗口 leetCode 水果成篮

水果成蓝 1.题目描述2.图形分析2.1原理解释2.2 怎么想出使用滑动窗口2.3 图形分析 3.代码演示 1.题目描述 2.图形分析 2.1原理解释 2.2 怎么想出使用滑动窗口 2.3 图形分析 3.代码演示

Android 10.0 Launcher3拖拽图标进入hotseat自适应布局功能实现一

1.前言 在10.0的系统rom定制化开发中&#xff0c;在对于launcher3的一些开发定制中&#xff0c;在对hotseat的一些开发中&#xff0c;需要实现动态hotseat居中 的功能&#xff0c;就是在拖拽图标进入和拖出hotseat&#xff0c;都可以保持hotseat居中的功能&#xff0c;接下来分…

【Linux】基础I/O——理解ext2文件系统

我们到现在为止讲的都是打开的文件。现在我们讲讲没有打开的文件 如果一个文件没有被打开&#xff0c;那它就是在磁盘中被存储的&#xff0c;我们就要关心路径问题&#xff0c;存储问题&#xff0c;文件获取问题&#xff0c;那么操作系统是怎么处理这些问题的&#xff1f;不急…

配置SMTP服务器的要点是什么?有哪些限制?

配置SMTP服务器安全性如何保障&#xff1f;如何高效配置服务器&#xff1f; SMTP作为电子邮件发送的核心协议&#xff0c;其配置对于确保邮件的成功传递和安全至关重要。AokSend将详细介绍配置SMTP服务器的关键要点&#xff0c;帮助读者建立一个高效、安全的邮件发送系统。 配…

使用 Flask 3 搭建问答平台(三):注册页面模板渲染

前言 前端文件下载 链接https://pan.baidu.com/s/1Ju5hhhhy5pcUMM7VS3S5YA?pwd6666%C2%A0 知识点 1. 在路由中渲染前端页面 2. 使用 JinJa 2 模板实现前端代码复用 一、auth.py from flask import render_templatebp.route(/register, methods[GET]) def register():re…

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署Hallo :针对肖像图像动画的分层音频驱动视觉合成

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文目标&#xff1a;在Ubuntu系统上部署Hallo&#x…

Python面试宝典第15题:岛屿数量

题目 在二维网格地图上&#xff0c;1 表示陆地&#xff0c;0 表示水域。如果相邻的陆地可以水平或垂直连接&#xff0c;则它们属于同一块岛屿。请进行编码&#xff0c;统计地图上的岛屿数量。比如&#xff1a;下面的二维网格地图&#xff0c;其岛屿数量为3。 基础知识 解决这类…

国产化低功耗HDMI转VGA方案,大量出货产品,广泛应用在显示器以及广告机产品

芯片描述&#xff1a; 兼具高性能和低成本效益的优点&#xff0c;是一款可以将高清视频 HDMI1.4 数字信号转换成 VGA 模拟信号输出的芯片。不需要提供外部电源&#xff0c;ICNM7301 就可以在正常模式下使用&#xff1b;ICNM7301 广 泛适用于各种市场系统和显示应用体系&#x…

Yum包下载

1. 起因 内网有一台服务器需要升级php版本,维护的同学又不想二进制安装.服务器只有一个光盘的yum仓库 2. 解决方法 解决思路如下: 外网找一台机器配置php8.3.8的仓库外网服务器下载软件集并打包内网服务器上传并解压实现升级 2.1 下载php8.3.8仓库 配置php仓库 rootcent…

【视频讲解】神经网络、Lasso回归、线性回归、随机森林、ARIMA股票价格时间序列预测|附代码数据

全文链接&#xff1a;https://tecdat.cn/?p37019 分析师&#xff1a;Haopeng Li 随着我国股票市场规模的不断扩大、制度的不断完善&#xff0c;它在金融市场中也成为了越来越不可或缺的一部分。 【视频讲解】神经网络、Lasso回归、线性回归、随机森林、ARIMA股票价格时间序列…

新时代多目标优化【数学建模】领域的极致探索——数学规划模型

目录 例1 1.问题重述 2.基本模型 变量定义&#xff1a; 目标函数&#xff1a; 约束条件&#xff1a; 3.模型分析与假设 4.模型求解 5.LINGO代码实现 6.结果解释 ​编辑 7.敏感性分析 8.结果解释 例2 奶制品的销售计划 1.问题重述 ​编辑 2.基本模型 3.模…

【网络】Socket编程

文章目录 正确理解端口号理解源IP地址和目的IP地址认识端口号端口号和进程ID 理解Socket网络字节序socket编程接口创建socket套接字bind绑定套接字listen建立监听accept接受连接connect建立连接sendto发送数据接收数据close关闭套接字 sockaddr结构体 正确理解端口号 理解源IP…

使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试

前言 首届YashanDB「迁移体验官」开放后&#xff0c;陆续收到「体验官」们的投稿&#xff0c;小崖在此把优秀的投稿文章分享给大家~今天分享的用户文章是《使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试》&#xff08;作者&#xff1a;尚雷&#xff09;&#xff0c…

PHP宠物店萌宠小程序系统源码

&#x1f43e;萌宠生活新方式&#x1f43e; &#x1f3e1;【一键直达萌宠世界】 你是否也梦想着拥有一家随时能“云撸猫”、“云吸狗”的神奇小店&#xff1f;现在&#xff0c;“宠物店萌宠小程序”就是你的秘密花园&#xff01;&#x1f31f;只需轻轻一点&#xff0c;就能瞬…