实用命令:
1、查看端口占用情况
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| netstat -lnp|grep 5000
lsof -i:'5000'
kill -9 28533
yum -y install net-tools
yum install firewalld
|
2、查看空间使用清理
1 2 3 4 5
| df -h
du -lh --max-depth=1
|
3、按时间批量删除文件
需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据。
1
| 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、按时间查找文件
根据日期查找相关文件
1 2
| ls --full-time /recordings/ | sed -n '/2018-03-21/p'
|
按照日期范围查找相关文件
1 2 3 4
| find images/ -newermt '2021-01-01' ! -newermt '2021-01-31'
scp -p ssh端口(22)'文件路径' '目标主机账号'@'IP':'存放到目标路径'
|
统计文件个数
1 2
| ls --full-time /recordings/ | sed -n '/2018-03-21/p' | wc -l
|
5、文件、文件夹统计
5.1、个数统计
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Linux 中可以通过 ls -l 或者 find -type f 来统计文件、文件夹的个数,具体操作如下。 查看某文件夹下文件的个数: ls -l | grep "^-" | wc -l
或者可以: find ./ -type f | wc -l
查看某文件夹下文件的个数,包括子文件夹: ls -lR | grep "^-" | wc -l
查看某文件夹下文件夹的个数,包括子文件夹: ls -lR | grep "^d" | wc -l
|
5.2、大小统计
使用 du、df、free 进行统计,详细见下
1、du详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 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 du -sk filename 使用 sort 的参数 -nr 表示要以数字排序法进行反向排序,因为我们要对目录大小做排序,所以不可以使用 human-readable 的大小输出,不然目录大小中会有 K、M 等字样,会造成排序不正确。 如果有一个进程在打开一个大文件的时候,这个大文件直接被 rm 或者mv 掉,则 du 会更新统计数值,df 不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。
|
2、df详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| 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详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 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、查看系统信息
查看内核版本
查看系统信息
1 2 3 4
| lsb_release -a
Cat /etc/xxx-release
|
查看内核和操作系统相关信息
1 2 3 4 5 6 7 8
| uname -r
uname -a
nload
|
7、开放及查看端口
查看已开放端口
1 2
| firewall-cmd --list-ports
|
开放及关闭端口(开放后需要要重启防火墙才生效)
1 2 3 4 5 6 7 8
| 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 为永久生效,不加为单次有效(重启失效))
防火墙操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| systemctl status firewalld
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl enable firewalld
systemctl disable firewalld
|
8、文件夹或文件权限赋予
给.sh文件赋予可执行权限
1 2 3 4
| 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、命令间隔执行
1 2 3 4 5 6 7
|
watch -l 1 'ls'
watch --help
|