Linux常用命令

Linux常用命令
 
1.压缩、解压

1.1.安装 zip、unzip工具
  [root@lqz ~]# yum install zip unzip -y
1.2.压缩目录为zip包 (不加r,只会打包一个文件夹),把dir文件夹压缩成dir.zip
  [root@lqz ~]# zip -r dir.zip dir/
1.3.查看zip压缩包是否是完整的
  [root@lqz ~]# zip -T filename.zip
  test of filename.zip OK
1.4.解压zip文件包, 默认解压至当前目录
   [root@lqz ~]# unzip filename.zip
1.5.解压zip内容至/opt目录
  [root@lqz ~]# unzip filename.zip -d /opt/


2.拷贝命令 cp

 远程copy命令

 

  scp xxx.bin root@192.168.1.1:/home/

 

 Linux cp 命令主要用于复制文件或目录,将源文件复制至目标文件,或将多个源文件复制至目标目录 

2.1.使用指令 "cp" 将 "/usr/local/redis/" 下的所有文件复制到新目录 "/home/beifen/20230515/" 下,输入如下命令:
  -r递归复制目录及其子目录内的所有内容
  [root@localhost redis]# cp -r /usr/local/redis/ /home/beifen/20230515/

2.2.cp命令参数详解

-a, --archive                    等于-dR --preserve=all
--backup[=CONTROL                为每个已存在的目标文件创建备份
-b                                类似--backup 但不接受参数
--copy-contents                    在递归处理是复制特殊文件内容
-d                                等于--no-dereference --preserve=links
-f, --force                        如果目标文件无法打开则将其移除并重试(当 -n 选项存在时则不需再选此项)
-i, --interactive                覆盖前询问(使前面的 -n 选项失效)
-H                                跟随源文件中的命令行符号链接
-l, --link                        链接文件而不复制
-L, --dereference                总是跟随符号链接
-n, --no-clobber                不要覆盖已存在的文件(使前面的 -i 选项失效)
-P, --no-dereference            不跟随源文件中的符号链接
-p                                等于--preserve=模式,所有权,时间戳
--preserve[=属性列表            保持指定的属性(默认:模式,所有权,时间戳),如果可能保持附加属性:环境、链接、xattr 等
-c                              same as --preserve=context
--sno-preserve=属性列表            不保留指定的文件属性
--parents                        复制前在目标目录创建来源文件路径中的所有目录
-R, -r, --recursive                递归复制目录及其子目录内的所有内容
--reflink[=WHEN]                控制克隆/CoW 副本。请查看下面的内如。
--remove-destination            尝试打开目标文件前先删除已存在的目的地文件 (相对于 --force 选项)
--sparse=WHEN                    控制创建稀疏文件的方式
--strip-trailing-slashes        删除参数中所有源文件/目录末端的斜杠
-s, --symbolic-link                只创建符号链接而不复制文件
-S, --suffix=后缀                自行指定备份文件的后缀
-t,  --target-directory=目录    将所有参数指定的源文件/目录复制至目标目录
-T, --no-target-directory        将目标目录视作普通文件
-u, --update                 copy only when the SOURCE file is newer
                               than the destination file or when the
                               destination file is missing
-v, --verbose                explain what is being done
-x, --one-file-system        stay on this file system
-Z, --context=CONTEXT        set security context of copy to CONTEXT
    --help                       显示此帮助信息并退出
    --version                   显示版本信息并退出

默认情况下,源文件的稀疏性仅仅通过简单的方法判断,对应的目标文件目标文件也
被为稀疏。这是因为默认情况下使用了--sparse=auto 参数。如果明确使用
--sparse=always 参数则不论源文件是否包含足够长的0 序列也将目标文件创文
建为稀疏件。
使用--sparse=never 参数禁止创建稀疏文件。

当指定了--reflink[=always] 参数时执行轻量化的复制,即只在数据块被修改的
情况下才复制。如果复制失败或者同时指定了--reflink=auto,则返回标准复制模式。

备份文件的后缀为"~",除非以--suffix 选项或是SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可通过--backup 选项或VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:

  none, off       不进行备份(即使使用了--backup 选项)
  numbered, t     备份文件加上数字进行排序
  existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
  simple, never   永远使用普通方式备份

有一个特别情况:如果同时指定--force 和--backup 选项,而源文件和目标文件
是同一个已存在的一般文件的话,cp 会将源文件备份。
View Code

3.查看内存情况 free

free 命令常用选项及含义
选项 含义
-b 以 Byte(字节)为单位,显示内存使用情况。
-k 以 KB 为单位,显示内存使用情况,此选项是 free 命令的默认选项。
-m 以 MB 为单位,显示内存使用情况。
-g 以 GB 为单位,显示内存使用情况。
-t 在输出的最终结果中,输出内存和 swap 分区的总量。
-o 不显示系统缓冲区这一列。
-s 间隔秒数 根据指定的间隔时间,持续显示内存使用情况。

3.1.查看示例   free -m
[root@localhost redis]#  free -m
              total        used        free      shared  buff/cache   available
Mem:           3789         221        3310           8         257        3330
Swap:          3967           0        3967

  第一行显示的是各个列的列表头信息,各自的含义如下所示:

  • total 是总内存数;
  • used 是已经使用的内存数;
  • free 是空闲的内存数;
  • shared 是多个进程共享的内存总数;
  • buffers 是缓冲内存数;
  • cached 是缓存内存数。

  Mem 一行指的是内存的使用情况;Swap 一行指的就是 swap 分区的使用情况。

  可以看到,系统的物理内存为 3789 MB,已经使用了 221 MB,空闲 3310 MB。而 swap 分区总大小为 3967 MB,目前尚未使用。
3.2.定时查看
  除此之外,free 命令还可以实时地监控内存的使用状况,通过使用 -s 选项
  [root@localhost ~]# free -m -s 5

4.Linux 查看磁盘空间
  Linux 查看磁盘空间可以使用 df 和 du 命令。
  例如,我们使用df -h命令来查看磁盘信息, -h 选项为根据大小适当显示:

  

  显示内容参数说明:
    Filesystem:文件系统
    Size: 分区大小
    Used: 已使用容量
    Avail: 还可以使用的容量
    Use%: 已用百分比
    Mounted on: 挂载点 

  相关命令:
    df -hl:查看磁盘剩余空间
    df -h:查看每个根路径的分区大小
    du -sh [目录名]:返回该目录的大小
    du -sm [文件夹]:返回该文件夹总M数
    du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)


 5.查看文件数量

5.1.Linux 查看目录下的文件数量

  [root@localhost redis]# ls -l | grep "^-" | wc -l;
5.2.指定某一目录(例如/home):
  [root@localhost redis]# ls -l /home | grep "^-" | wc -l;


6.linux定时任务
6.1.首先查看本机上是否已经安装了crontabs
[root@localhost mysql]# service crond status

6.2.安装并启动crontabs

[root@]# yum install vixie-cron crontabs 
[root@]# yum install crontabs
    
//启动crontabs
[root@]# service crond start
    
//显示状态,如果安装成功就会显示上图
[root@]# service crond status
​
//开机自启动,这个根据自身需求决定是否使用
[root@]# chkconfig crond on

6.3.crontabs查看、编辑、删除定时任务

crontab -u //设定特定用户的定时服务
crontab -l //列出当前用户定时服务内容
crontab -r //删除当前用户的定时服务
crontab -e //编辑当前用户的定时服务
在设定编辑之前都建议列出服务查看一下:crontab -l

 修改后记得重启crond使改动生效

 

[root@]#service crond restart

6.4.查看crond执行结果

tail -f /var/log/cron

6.5.在线Linux表达式验证工具

  https://tool.lu/crontab


 7.其他
7.1 查看CPU核数量

[root@localhost ~]# nproc

7.2 监视工具

Glances 是一个有用的监视工具,用于监视系统状态。该工具是用python编写的,并使用库实用程序详细显示各种系统资源信息,例如CPU使用率,内存和网络监控,进程,磁盘I / O和文件系统利用率等。如果执行以下命令提示未找到命令,可以执行”yum install glances“ 安装。

[root@sharplee creatfile]# glances 

还可以使用glances运行web服务器查看cpu利用率。

 7.3允许ping

1、检查Linux服务器当前是否禁ping,执行命令:cat /proc/sys/net/ipv4/icmp_echo_ignore_all
备注: 0----代表允许ping包 1-----代表禁止ping包

2、修改配置文件/etc/sysctl.conf,在sysctl.conf文件最后以后添加以下内容:
net.ipv4.icmp_echo_ignore_all = 0

3、执行命令 (配置文件才能生效):sysctl -p

7.4端口排查

1.查看端口是否被占用

 lsof -i:443

2.查看端口详细信息

ls 进程id

7.5 pkill 结束所有相关进程

 sudo pkill -9 java

7.6 下载rpm安装包到指定位置

Yumdownloader 是一款简单,但是却十分有用的命令行工具,它可以一次性下载任何 RPM 软件包及其所有
yum install yum-utils
一旦安装完成,运行如下命令去下载一个软件包,例如 httpd
为了将软件下载到一个特定的目录下,我们使用 -destdir 参数
yumdownloader --resolve --destdir=/root/mypackages/ httpd

7.7 统计文件数量

使用ls命令和wc命令

  使用ls命令的-l选项和管道操作符|结合wc命令来统计文件数量:

  ls -l | grep "^-" | wc -l

使用find命令递归查询

  使用find命令来递归地查找文件,并使用wc命令统计文件数量:

  find /path/to/folder -type f | wc -l

7.8 查看端口或应用网络连接状态

netstat -antp|grep 是一个在 Linux 系统中使用的命令,用于查看网络连接状态并过滤输出。这个命令的各个部分的功能如下:

  1. netstat:这是一个用于显示网络连接、路由表、接口统计等信息的工具。

  2. -a:显示所有连接和监听端口。

  3. -n:以数字形式显示地址和端口号,而不是尝试将地址和端口号转换为主机名和服务的名称。

  4. -t:只显示 TCP 连接。

  5. -p:显示与每个连接相关的进程 ID 和程序名称。

  6. |:管道符号,用于将 netstat 的输出传递给 grep 命令。

  7. grep:这是一个用于搜索字符串的命令。在这里,它用于过滤 netstat 的输出,只显示包含特定字符串的行。

如果您在 netstat -antp|grep 命令后面跟了一个特定的参数,那么 grep 将会只显示包含该参数的行。例如,如果您想查看所有与 ssh 相关的连接,可以使用:

netstat -antp | grep ssh
netstat -antp | grep 6379
 

 windows 批量修改最后修改日期

  进入指定文件夹后,执行以下命令来修改文件夹里面所有文件的修改日期为当前日期:

  powershellGet-ChildItem -Recurse | ForEach-Object { $_.LastWriteTime = Get-Date }
  或者
 (Get-Item "C:\path\to\your\folder").LastWriteTime = (Get-Date "2023-01-01 12:00:00")
 

 

 

 

posted @ 2023-05-24 10:26  不再_单纯  阅读(87)  评论(0编辑  收藏  举报