首页 > 系统相关 >Linux 实用命令

Linux 实用命令

时间:2022-10-12 15:22:42浏览次数:52  
标签:文件 查看 -- 端口 实用 命令 文件夹 Linux du

实用命令:

1、查看端口占用情况

# 查看该端口是否被占用
netstat -lnp|grep 5000

# 查看端口是否被占用
lsof -i:'5000'

# 杀死端口占用进程,根据进程号杀死
kill -9 28533

# 再次查看,如果查看时候提示命令不存在 :
# 需要先安装一下命令
yum -y install net-tools

# 最常见的还有防火墙
yum install firewalld

2、查看空间使用清理

# 查看空间使用情况
df -h

# 查看当前目录下空间使用情况
du -lh --max-depth=1

 3、按时间批量删除文件

需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据。

find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \;

简要解释该Shell命令

  • /home/lifeccp/dicom/studies :准备要进行清理的任意目录
  • -mtime:标准语句写法
  • +10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件
  • "*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件
  • -exec:固定写法
  • rm -rf:强制删除文件,包括目录
  •  {} \; :固定写法,一对大括号+空格+/+;

注意:在我本人使用的时候,发现可能会存在1-2天的延后误差,比如:删除10天前的,可能删除了12天前的,大家执行完可以检查一下

4、按时间查找文件

根据日期查找相关文件

# /recordings/ 查找的目录 ,默认当前目录
ls --full-time /recordings/ | sed -n '/2018-03-21/p'

按照日期范围查找相关文件

find images/ -newermt '2021-01-01' ! -newermt '2021-01-31'

# 按时间范围拷贝文件到另一台服务器(内网)
scp -p ssh端口(22)'文件路径' '目标主机账号'@'IP':'存放到目标路径'

 统计文件个数

# wc -l 统计文件个数
ls --full-time /recordings/ | sed -n '/2018-03-21/p' | wc -l

5、文件、文件夹统计

5.1、个数统计

Linux 中可以通过 ls -l 或者 find -type f 来统计文件、文件夹的个数,具体操作如下。
查看某文件夹下文件的个数:
ls -l | grep "^-" | wc -l
# ls -l 列出文件及文件夹
# "^-" 以-开头的行 文件以-开头 文件夹以d开头
# wc -l 统计行数
或者可以:
find ./ -type f | wc -l
# ./ 在当前目录查找
# -type f 文件类型 -name "*.conf*" 根据文件后缀查找
# wc -l 统计行数
查看某文件夹下文件的个数,包括子文件夹:
ls -lR | grep "^-" | wc -l
# -R 递归列出子目录的文件
查看某文件夹下文件夹的个数,包括子文件夹:
ls -lR | grep "^d" | wc -l
# "^d" 以d开头的行

5.2、大小统计

使用 du、df、free 进行统计,详细见下

1、du详解
2.1 du 详解
Linux du 命令用于显示目录或文件的大小。
du 会显示指定的目录或文件所占用的磁盘空间。
语法:
du [-abcDhHklmsSx] [目录或文件]
参数说明:
-a 或 -all:显示目录中文件的大小,单位 KB
-b:显示目录中文件的大小,以字节 byte 为单位
-c:显示目录中文件的大小,同时显示总和,单位 KB
-k:显示目录中文件的大小,单位 KB
-m:显示目录中文件的大小,单位 MB
-s:仅显示目录的总值,单位 KB
-h:--human-readable 以K,M,G为单位,提高信息的可读性。
-x:以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-H:--si 与 -h参数相同,但是 K、M、G是以1000为换算单位
--max-depth = 1 :遍历深度
实例:
du -h * # 显示当前目录下文件的大小
du -sh # 查看当前文件夹大小
du -sh * | sort -nr # 统计当前文件夹(目录)大小,并按文件大小排序 -- 加了-h之后排序有问题
du -sk filename # 查看指定文件大小
使用 sort 的参数 -nr 表示要以数字排序法进行反向排序,因为我们要对目录大小做排序,所以不可以使用 human-readable 的大小输出,不然目录大小中会有 K、M 等字样,会造成排序不正确。
如果有一个进程在打开一个大文件的时候,这个大文件直接被 rm 或者mv 掉,则 du 会更新统计数值,df 不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。
 2、df详解
2.2 df 详解
Linux df 命令显示磁盘分区上可以使用的磁盘空间。
df 可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小。
两者配合使用,非常有效。
比如用 df 查看哪个一级目录过大,然后用 du 查看文件夹或文件的大小,如此便可迅速确定症结。
语法:
df [选项] [file]
参数说明:
-a: --all 包含所有的具有 0 Blocks 的文件系统,单位默认 KB
-h:使用 -h 选项以 KB、MB、GB 的单位来显示,可读性高~~~(最常用)
-i:查看目前档案系统 inode 的使用情形
有的时候虽然档案系统还有空间,但若没有足够的 inode 来存放档案的信息,一样会不能增加新的档案。
所谓的 inode 是用来存放档案及目录的基本信息 (metadata),包含时间、档名、使用者及群组等。在分割扇区时,系统会先做出一堆 inode 以供以后使用,inode 的数量关系着系统中可以建立的档案及目录总数。如果要存的档案大部分都很小,则同样大小的硬盘中会有较多的档案,也就是说需要较多的 inode 来挂档案及目录。
实例:
df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             3.9G  300M  3.4G   8% /
/dev/sda7             100G  188M   95G   1% /data0
/dev/sdb1             133G   80G   47G  64% /data1
/dev/sda6             7.8G  218M  7.2G   3% /var
/dev/sda5             7.8G  166M  7.2G   3% /tmp
/dev/sda3             9.7G  2.5G  6.8G  27% /usr
tmpfs                 2.0G     0  2.0G   0% /dev/shm
Filesystem -- 档案系统
Mounted on -- 挂入点
size -- 分区容量
Used -- 已使用的大小
Avail -- 剩下的大小
Use% -- 使用的百分比
FreeBSD下,当硬盘容量已满时,可能会看到已使用的百分比超过 100%,因为 FreeBSD 会留一些空间给 root,让 root 在档案系统满时,还是可以写东西到该档案系统中,以进行管理。
3、free详解
2.3 free 详解
Linux free 命令可以显示 Linux 系统中空闲的、已用的物理内存及交互区内存(swap),及被内核使用的 buffer(内核缓冲区内存)。共享内存将被忽略。
语法:
free [参数]
             total       used       free     shared    buffers     cached
Mem:      32948032   32767416     180616          0     139960   29878896
-/+ buffers/cache:    2748560   30199472
Swap:      8193140     664956    7528184
参数说明:
-b:以 Byte 为单位显示内存使用情况
-k:以 KB 为单位显示内存使用情况
-m:以 MB 为单位显示内存使用情况
-g:以 GB 为单位显示内存使用情况
-t:显示内存综合列

6、查看系统信息

查看内核版本

# 查看内核
uname -r

查看系统信息

# 查看系统信息
lsb_release -a
# 没有以上的命令,可使用一下命令查看 XX为发行版名称。如 centos-release
Cat /etc/xxx-release

 查看内核和操作系统相关信息

# 查看内核
uname -r

# 查看操作系统相关信息
uname -a

# 查看宽带实时使用率
nload

7、开放及查看端口

查看已开放端口

# 查看开放端口
firewall-cmd --list-ports

开放及关闭端口(开放后需要要重启防火墙才生效)

# 开放单个端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 开放多个端口
firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent

# 关闭端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

(--permanent  为永久生效,不加为单次有效(重启失效))

 防火墙操作

# 查看防火墙状态
systemctl status firewalld

# 开启防火墙
systemctl start firewalld

# 关闭防火墙
systemctl stop firewalld

# 重启防火墙
systemctl restart firewalld

# 开机自启
systemctl enable firewalld

# 开机禁用
systemctl disable firewalld

8、文件夹或文件权限赋予

给.sh文件赋予可执行权限

chmod +x  文件名

# 示例
chmod +x test.sh

8.1、符号类型修改法

我们把九个权限分别是 user,group,others三种身份,借由u、g、o来代表,采用a表示所有权限,其余的r、w、x分别代表读、写、执行权限。使用如下表的方法

比如我们要对一个文件权限为“-rwxr-xr–”修改为“-rwxrwxr-x”,则需要对用户组身份的权限追加w权限,对其他用户追加x 权限,所以这样执行:
  chmod g+w, o+x filename 或者 chmod g=rwx, o=rx filename

9、扩展命令

9.1、命令间隔执行

# 单条命令间隔执行 
# -d 高亮显示本次刷新和上次刷新不同的地方  如:-d "date"
# -t 可执行复合命令 如: "ps -ef | grep ps"
watch -n 1 'ls'

# 更多帮助
watch --help

9.2、历史命令

# 历史命令
history

# 清除本次登陆执行过的历史命令
history -c

 

标签:文件,查看,--,端口,实用,命令,文件夹,Linux,du
From: https://www.cnblogs.com/aerfazhe/p/15726740.html

相关文章

  • 【Linux 管理】使用 adduser 添加用户并为用户授予 sudo 权限的最简便方法
    目录添加用户为用户赋予sudo权限删除用户参考资料本文基于Ubuntu22.04,若下面的方法行不通可以转到最下方资料使用useradd。添加用户使用adduser命令来添加用户,只......
  • 命令行生成maven工程
    mvnarchetype:generate-DgroupId=org.sang-DartifactId=chapter01-DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false 开始下载包与pom 生成......
  • 命令模式
    命令模式命令接口packagecommandtypecommandinterface{Execute()}命令执行者packagecommandfuncNewSystem()*system{ return&system{}}func(......
  • linux查看开机启动服务
    systemctllist-unit-files--typeservice--stateenabled......
  • memcache常用命令
    telnet 连接MemCache服务器,对memcache进行管理:set:用于身缓存添加新的键值对。如键已存在,则之前的值将被替换。     例:setuserid00 5......
  • linux安全加固
    linux安全加固1、账户登录超时设置[root@lz~]#vi/etc/profileTMOUT=180//设置180s超时exportTMOUT--全局[ro......
  • codetyphon编译linux程序
    1、codetyphon中下载相关的库 对应linux平台toolchains,Oseslibraryies   2\Crossbuild菜单去编译相应的库  2、Typhon64编译设置PROJECT-PROJECTOPTI......
  • 在Linux上搭建jupyter服务
    一.安装jupyte所有操作在root权限下进行。安装jupyter之前,确保服务器中已安装好了python3。本服务器的python3的安装路径为usr/lib/python3.7/。安装jupyter模块:pipin......
  • FFmpeg 转分辨率及转编码格式方命令
    最近工作中需要用到不同分辨率,不同编码格式的视频,以下为转分辨率和转编码格式的命令转分辨率ffmpeg-iinput_file-vfscale=2048:1024output_file-hide_banner#2k......
  • [ Linux ] 进程地址空间
    进程地址空间这个名词可能对于大家来说略显陌生,但是程序地址空间对于学习过C语言的人来说就不陌生。因此,我们首先复习一下程序地址空间。1.程序地址空间1.1空间布局图相比......