项目实用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://xiahunao.cn/news/3250117.html

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

相关文章

剧本杀小程序搭建,为商家带来新的收益方向

近几年&#xff0c;剧本杀游戏成为了游戏市场的一匹黑马&#xff0c;受到了不少年轻玩家的欢迎。随着信息技术的快速发展&#xff0c;传统的剧本杀门店已经无法满足游戏玩家日益增长的需求&#xff0c;因此&#xff0c;剧本杀市场开始向线上模式发展&#xff0c;实现行业数字化…

灵雀云AML:赋能金融AI,构建数智时代核心竞争力

在人工智能&#xff08;AI&#xff09;技术的迅猛发展中&#xff0c;金融行业正迈入变革的新时代。AI不仅在优化投资决策、信用评估、实时监控和欺诈识别方面展现出强大功能&#xff0c;还极大地提升了客户体验、降低了运营成本&#xff0c;并推动了产品创新。面对智能时代的挑…

唯众特色软件开发实训室解决方案

特色软件开发实训室解决方案旨在构建一个全方位、高度灵活且效率卓越的实训生态系统&#xff0c;它不仅仅是一个学习空间&#xff0c;更是一个让学生能够身临其境&#xff0c;在模拟真实工作环境中锤炼技能的实战场。通过精心设计的实训项目与案例&#xff0c;学生能够在实践中…

在Ubuntu上安装redis

Ubuntu上安装redis 一、通过下载redis的压缩包安装二、通过apt包管理器安装Redis三、修改redis的配置文件四、控制redis启动 Redis是一种开源的内存数据存储&#xff0c;可以用作数据库、缓存和消息代理等。本文将会介绍两种不同的安装方式&#xff0c;包括通过压缩包安装以及通…

日志之ELK使用讲解

文章目录 1 ELK1.1 ELK 简介1.1.1 Logstash1.1.2 Elasticsearch1.1.3 Kibana 1.2 ELK 实现方案1.3 ELK 平台搭建1.3.1 安装 Logstash1.3.2 安装 Elasticsearch1.3.3 安装 Kibana 1.4 在 SpringBoot 中使用 ELK1.4.1 修改并部署 Spring Boot 项目1.4.2 配置 Shipper 角色 Logsta…

国内从事双臂机器人的团队

一、背景 随着人形机器人的发展&#xff0c;双臂协同操作得到了越来越多研究人员的关注。我自己也是做双臂机器人方向的&#xff0c;虽然通过看论文或刷知乎了解到国内有许多团队在做双臂机器人方向&#xff0c;但还没有系统的整理过&#xff0c;因此趁这次机会&#xff0c;好…

【C++进阶学习】第七弹——AVL树——树形结构存储数据的经典模块

二叉搜索树&#xff1a;【C进阶学习】第五弹——二叉搜索树——二叉树进阶及set和map的铺垫-CSDN博客 目录 一、AVL树的概念 二、AVL树的原理与实现 AVL树的节点 AVL树的插入 AVL树的旋转 AVL树的打印 AVL树的检查 三、实现AVL树的完整代码 四、总结 前言&#xff1a…

前端轻松拿捏!最简全栈登录认证和权限设计!

本项目代码已开源&#xff0c;具体见&#xff1a; 前端工程&#xff1a;vue3-ts-blog-frontend 后端工程&#xff1a;express-blog-backend 数据库初始化脚本&#xff1a;关注公众号程序员白彬&#xff0c;回复关键字“博客数据库脚本”&#xff0c;即可获取。 前端走向全栈&am…

宋仕强谈狼性营销与五看三定

宋仕强说余承东董宇辉联合宣传&#xff0c;他们的狼性营销我们要学习&#xff0c;我们金航标和萨科微要认真学习华为的先进理念和成功经验&#xff0c;和“五看三定”思维和工作模型&#xff0c;让管理团队深度思考&#xff0c;再不断实践。在产品定义和市场定位方面&#xff0…

小程序js 把链接转换为二维码

GitHub - Rookie-M/weapp-qrcode: weapp.qrcode.js 在 微信小程序 中&#xff0c;快速生成二维码 1.要下载上面地址的插件包 2.引用 import drawQrcode from ../../utils/weapp.qrcode.minonLoad(options) {let that thisconsole.log(JSON.parse(options.info))that.setData…

Ubuntu 24.04 LTS 桌面安装MT4或MT5 (MetaTrader)教程

运行脚本即可在 Ubuntu 24.04 LTS Noble Linux 上轻松安装 MetaTrader 5 或 4 应用程序&#xff0c;使用 WineHQ 进行外汇交易。 MetaTrader 4 (MT4) 或 MetaTrader 5 是用于交易外汇对和商品的流行平台。它支持各种外汇经纪商、内置价格分析工具以及通过专家顾问 (EA) 进行自…

【BUG】已解决: KeyboardInterrupt

已解决&#xff1a; KeyboardInterrupt 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发者社区主理人 擅长.net、C…

折叠屏遇上Galaxy AI,三星新一代Galaxy Z系列开启移动终端新篇章

作者 | 曾响铃 文 | 响铃说 随着换机周期的普遍延长以及智能手机行业内竞争态势的日益激烈&#xff0c;传统的硬件升级与参数比拼已难以全面满足消费者日益多元化的需求。面对这一挑战&#xff0c;行业迫切需要探索新的增长路径与发展方向。 折叠屏技术的兴起&#xff0c;无…

npm install时报错 reason: certificate has expired

在VS code中导入新项目&#xff0c;执行npm install时报错&#xff1a; npm warn old lockfile Could not fetch metadata for antv/g3.4.10 FetchError: request to https://registry.npm.taobao.org/antv%2fg failed, reason: certificate has expirednpm warn old lockfile …

用DrissionPage过某里滑块分析

最近我又在找工作了&#xff0c;悲哀啊~&#xff0c;面试官给了一道题&#xff0c;要求如下&#xff1a; 爬虫机试&#xff1a;https://detail.1688.com/offer/643272204627.html 过该链接的滑动验证码&#xff0c;拿到正确的商品信息页html&#xff0c;提取出商品维度的信息&a…

Notepad++换安装路径之后,右键打开方式报错:Windows无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。的处理方法

把Notepad添加到右键打开方式&#xff0c;可以参考下面的3篇文章添加&#xff1a; https://blog.csdn.net/xiaoerbuyu1233/article/details/88287747 https://blog.csdn.net/qq_44000337/article/details/120277317 https://www.cnblogs.com/zhrngM/p/12899026.html 这里主要是…

docker安装mysql突然无法远程连接

docker安装mysql突然莫名其妙的无法远程连接 docker安装mysql突然无法远程访问问题背景发现问题排查问题解决问题总结 docker安装mysql突然无法远程访问 问题背景 大概一年前在服务器中通过docker安装mysql5.7端口映射关系是3308->3306 前期在服务器上开方了3308端口 fir…

redis操作set时的性能分析y以及一系列问题

redis操作set时的性能分析y以及一系列问题 第一次测试 初始状态 第一次测试 第二次 初始状态 第二次测试 测试代码 Javapackage cn.only.hww; import redis.clients.jedis.Jedis; import java.util.*;/** * author…

液氮罐搬运过程中的安全注意事项有哪些

在液氮罐搬运过程中&#xff0c;安全性是至关重要的考虑因素。液氮是一种极低温的液体&#xff0c;其温度可达零下196摄氏度&#xff0c;在接触到人体或物体时会迅速引发严重的冷冻伤害。因此&#xff0c;正确的搬运和使用液氮罐是保障操作安全的关键。 液氮是一种无色、无味的…

每日一题,力扣leetcode Hot100之128. 最长连续序列

题目理解&#xff1a; 从示例1可以看出简单的连续数字就算&#xff0c;从示例2可以看出当有重复数字时&#xff0c;是不算长度的 解法一&#xff1a; 第一个想到的解法&#xff0c;就是对nums排序&#xff0c;然后双层循环遍历进行判断&#xff0c;当前一个和后一个相减等于…