최근에 메모리가 많이 저하된 것을 발견했습니다. 특히 Linux 명령에는 많은 매개 변수가 포함되어 있으므로 한동안 사용하지 않으면 확인해야 합니다. 매우 짜증나서 많은 시간을 들여 이전 노트에서 Linux 명령을 정리하고 다음에는 기억이 나지 않는 30가지 명령을 요약했습니다. 이 기사를 읽어보세요.
ls는 list 명령의 약어로, Linux 시스템에서 핵심적인 역할을 합니다. ls 명령을 통해 사용자는 폴더의 파일 목록을 볼 수 있으며 파일 권한, 디렉터리 정보 등에 대한 자세한 정보를 얻을 수 있습니다. ls 명령의 장점은 파일 이름 목록을 제공할 뿐만 아니라 파일 권한, 소유자, 크기 등과 같은 중요한 속성도 표시한다는 것입니다. 따라서 ls 명령은 Linux 사용자가 파일 시스템을 탐색할 때 중요한 도구 중 하나입니다. 간단한 ls 명령으로 사용자는 파일 시스템을 빠르게 이해할 수 있습니다
으아악changedirectory의 약자인 스위치 디렉토리
으아악이 명령은 현재 작업 디렉터리의 경로, 즉 인쇄 작업 디렉터리의 약어를 보는 데 사용됩니다
으아악이 명령은 디렉터리를 만드는 데 사용되며 make 디렉터리의 약어입니다
으아악rm은 제거(remove)의 약어로, 디렉터리에 있는 하나 이상의 파일이나 디렉터리를 삭제하는 것을 의미합니다. -r 옵션을 사용하지 않으면 rm은 디렉토리를 삭제하지 않습니다. rm을 사용하여 파일을 삭제하는 경우 일반적으로 파일을 원래 상태로 복원할 수 있습니다.
으아악rmdir은 Remove Directory의 약어로, 빈 디렉터리를 삭제한다는 뜻입니다
으아악mv는 move의 약자로 파일이나 디렉터리를 이동한다는 뜻입니다. 이동 시 파일이나 디렉터리 이름을 수정할 수 있습니다
으아악복사, 여러 파일 또는 디렉터리를 대상 디렉터리에 복사합니다(셸 스크립트에 -i 매개변수가 없으면 프롬프트 없이 직접 덮어쓰게 됩니다)
으아악텍스트 출력 명령
으아악cat와 유사한 읽기 명령 more는 페이지 단위로 읽기를 쉽게 하기 위해 페이지 단위로 표시됩니다. 스페이스바(스페이스)를 누르면 다음 페이지가 표시되고, b 키를 누르면 한 페이지 뒤로 표시됩니다.
으아악파일 탐색 명령, less는 파일을 마음대로 탐색할 수 있으며, less는 파일을 보기 전에 전체 파일을 로드하지 않습니다
으아악지정된 파일의 끝 부분에 내용을 표시하는 데 사용됩니다. 파일을 지정하지 않으면 입력 정보로 처리됩니다.
으아악시작 또는 끝 표시 명령 head는 파일의 시작 부분을 표준 출력에 표시하는 데 사용됩니다. 기본 head 명령은 파일의 처음 10줄을 인쇄합니다. 으아악
으아악
으아악
命令格式:find pathname -options [-print -exex -ok ...] 命令参数: pathname:查找的目录路径 ~表示home目录 .表示当前目录 /表示根目录 -print:匹配的文件输出到标准输出 -exec:对匹配的文件执行该参数所给出的shell命令 -ok:和-exec作用相同,不过是以一种更安全的模式来执行该参数所给出的shell命令,在执行每一个命令前,都会给出提示,让用户来确定是都执行。 -options:表示查找方式,如下是其具体选项 -name 按照文件名查找文件 -perm 按照文件权限查找文件 -user 按照文件属主查找文件 -group 按照文件所属的组来查找文件 -type 查找某一类型的文件 b 块设备文件 d 目录 c 字符设备文件 l 符号链接文件 p 管道文件 f 普通文件 -size n :[c] 查找文件长度为n块文件,带有c时表示文件字节大小 -amin n 查找系统中最后n分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后n分钟被改变文件状态的文件 -ctime n 查找系统中最后n*24小时被改变文件状态的文件 -mmin n 查找系统中最后n分钟被改变文件数据的文件 -mtime n 查找系统中最后n*24小时被改变文件数据的文件 -maxdepth n 最大查找目录深度 -prune 选项来指出需要忽略的目录 -newer 查找更改时间比某个文件新,但比另外一个文件旧的所有文件 find . -name '[A-Z]*.txt' -print 在当前目录及子目录中,查找大写字母开头的txt文件 find . -mtime -2 -type f -print查找两天内被更该过的文件 find . -name 'del.txt' -ok rm {} \; 查找名为del.txt的文件并删除,删除前提示确认 find logs -type f -mtime +5 -exec -ok rm {} \;在 /logs目录中查找更改时间在5日以前的文件并删除它们
用于改变 linux 系统文件或目录的访问权限 该命令有两种用法:一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法 每一文件或目录的访问权限都有三组,每组用三位代号表示:
文件属主的读、写和执行权限 与属主同组的用户的读、写和执行权限 系统中其他用户的读、写和执行权限
常用参数: -c 当发生改变时,报告处理信息 -R 处理指定目录以及其子目录下的所有文件 权限范围: u:目录或者文件的当前的用户 g:目录或者文件的当前的群组 o:除了目录或者文件的当前用户或者群组之外的用户 a:所有的用户及群组 权限代号: r :读权限,用数字4表示 w :写权限,用数字2表示 x :执行权限,用数字1表示 - :删除权限,用数字0表示 s :特殊权限 chmod -R 755 目录名称
压缩和解压文件 tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成
命令参数: -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
将指定文件的拥有者改为指定的用户或组,操作权限为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
显示磁盘空间使用情况
获取硬盘被占用空间,剩余空间等信息。默认所有当前被挂载的文件系统的可用空间都会显示 默认情况下,磁盘空间以 1KB 为单位进行显示
常用参数: -a 全部文件系统列表 -h 以方便阅读的方式显示信息 -i 显示inode信息 -k 区块为1024字节 -l 只显示本地磁盘 -T 列出文件系统类型
是查看目录使用空间情况,与 df 命令不同的是 du 命令是对文件和目录磁盘使用的空间的查看
命令格式:du [选项] [文件] 常用参数: -a 显示目录中所有文件大小 -k 以kb为单位显示文件大小 -m 以MB为单位显示文件大小 -g 以GB为单位显示文件大小 -h 以易读方式显示文件大小 -s 仅显示总计 -c 或 --total 除了显示个别目录或文件大小,同时也显示所有的目录或文件的大小总和 du -ah --max-depth=1显示各个文件夹大小
为文件在另外一个位置建立一个同步的链接
链接分为:
1、软链接
软链接,以路径的形式存在。类似于 Windows 操作系统中的快捷方式 软链接可以跨文件系统 ,硬链接不可以 软链接可以对一个不存在的文件名进行链接 软链接可以对目录进行链接
2、硬链接
硬链接,以文件副本的形式存在。但不占用实际空间。 不允许给目录创建硬链接 硬链接只有在同一个文件系统中才能创建
需要注意:
ln 命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化 ln 的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间;硬链接 ln 源文件 目标文件,没有参数 -s, 在指定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化 ln 指令用在链接文件或目录,如同时指定两个以上的文件或目录,且目标目录已经,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且目标目录不存在,则会出现错误信息
常用参数: -b 删除,覆盖之前建立的链接 -s 软连接 -v 显示详细处理过程 ln -s /usr/local/mysql/bin/mysql /usr/bin 建立一个软链接
显示或设定系统的日期与时间
命令参数: -d显示字符串所指的日期与时间,字符串前后必须加上双引号 -s根据字符串来设置日期与时间,字符串前后必须加上双引号 -u显示GMT %H 小时(00-23) %I 小时(00-12) %M 分钟(以00-59来表示) %s 总秒数起算时间为1970-01-01 00:00:00 UTC %S 秒(以本地的惯用法来表示) %a 星期的缩写 %A 星期的完整名称 %d 日期(以01-31来表示) %D 日期(含年月日) %m 月份(以01-12来表示) %y 年份(以00-99来表示) %Y 年份(以四位数来表示) 实例: date +回车 查看系统当前时间 date -s "2018-05-24 16:36:00" 修改当天系统时间为所设置时间 date +%Y%m%d --date="+1 day"//显示下一天的日期 date -d "nov 22" 显示今年的 11 月 22 日 date -d "2 weeks"显示2周后的日期 date -d "next monday"显示下周一的日期 date -d next-day +%Y%m%d 或 date -d tomorrow +%Y%m%d显示明天的日期 date -d last-day +%Y%m%d 或 date -d yesterday +%Y%m%d显示昨天的日期 date -d last-month +%Y%m显示上个月的月份 date -d next-month +%Y%m显示下个月的月份
显示公历日历 指令后只有一个参数,表示年份,1-9999 指令后有两个参数,表示月份和年份
常用参数: -3 显示前一个月,当前月,后一个月三个月的日历 -m 显示星期一为第一列 -j 显示当前年第几天 -y [year]显示[year]年份的日历 cal 11 2021 显示2021年11月的日历
文本搜索命令,grep 是 Global Regular Expression Print 的缩写,全局正则表达式搜索 grep 在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须使用引号,模板后的所有字符串被看作文件名,搜索的结果被送到标准输出,不影响原文件内容。
命令格式:grep [option] pattern file|dir 常用参数: -A n --after-context显示匹配字符后n行 -B n --before-context显示匹配字符前n行 -C n --context 显示匹配字符前后n行 -c --count 计算符合样式的列数 -i 忽略大小写 -l 只列出文件内容符合指定的样式的文件名称 -f 从文件中读取关键词 -n 显示匹配内容的所在文件中行数 -R 递归查找文件夹 grep 的规则表达式: ^锚定行的开始 如:'^log'匹配所有以 log 开头的行。 $锚定行的结束 如:'log$'匹配所有以 log 结尾的行。 .匹配一个非换行符的字符,'l.g' 匹配 l+非换行字符+g,如:log *匹配零个或多个先前字符 如:'*log' 匹配所有一个或多个空格后紧跟 log 的行 .* 一起用代表任意字符 [] 匹配一个指定范围内的字符,如:'[Ll]og' 匹配 Log 和 log [^]匹配一个不在指定范围内的字符,如:'[^A-FH-Z]og' 匹配不包含 A-F 和 H-Z 的一个字母开头,紧跟 log 的行 \(..\) 标记匹配字符,如:'\(log\)',log 被标记为 1 \<锚定单词的开始,如:'\' 匹配包含以 log 结尾的单词的行 x\{m\} 重复字符 x,m 次,如:'a\{5\}' 匹配包含 5 个 a 的行 x\{m,\}重复字符 x,至少 m 次,如:'a\{5,\}' 匹配至少有 5 个 a 的行 x\{m,n\} 重复字符 x,至少 m 次,不多于 n 次,如:'a\{5,10\}' 匹配 5 到 10 个 a 的行 \w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'l\w*g'匹配 l 后跟零个或多个字母或数字字符加上字符 p \W \w 的取反,匹配一个或多个非单词字符,如 , . ' " \b 单词锁定符,如: '\blog\b' 只匹配 log grep "text" . -R 在当前目录下递归查找含有“text”内容的文件
wc(word count),统计指定的文件中字节数、字数、行数,并将统计结果输出
命令参数: -c 统计字节数 -l 统计行数 -m 统计字符数 -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用 top 指令
linux 系统中进程有5种状态:
运行(正在运行或在运行队列中等待) 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生) 僵死(进程已终止, 但进程描述符存在, 直到父进程调用 wait4() 系统调用后释放) 停止(进程收到 SIGSTOP, SIGSTP, SIGTIN, SIGTOU 信号后停止运行)
ps 工具标识进程的5种状态码:
R 运行 runnable S 中断 sleeping D 不可中断 uninterruptible sleep Z 僵死 a defunct process T 停止 traced or stopped
常用参数: -A 显示所有进程 -a 显示同一终端下所有进程 -f: full 展示进程详细信息 -e: every 展示所有进程信息 -ax: all 与 -e 同,展示所有进程信息 -o: 设置输出格式, 可以指定需要输出的进程信息列 -L: 展示线程信息 -C: 获取指定命令名的进程信息 -t: tty 展示关联指定 tty 的进程 --forest: 展示进程数 --sort: 按照某个或者某些进程信息列排序展示 a 显示所有进程 c 显示进程真实名称 e 显示环境变量 f 显示进程间的关系 r 显示当前终端运行的进程 -aux 显示所有包含其它使用的进程 -ef显示所有当前进程信息 ps -C bash显示指定名称的进程信息 ps -eLf显示当前系统中的线程信息 ps -ef --forest显示进程树
显示当前系统正在执行的进程的 ID、内存占用率、CPU 占用率等相关信息
常用参数: -c 显示完整的进程命令 -s 保密模式 -p指定进程显示 -n循环显示次数 实例: 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 USERPRNIVIRTRESSHR S %CPU %MEM TIME+ COMMAND 7110 root10 -10130476 9416 6116 S1.30.9 141:26.59 AliYunDun 15845 root20 0 47064 4320 2180 S0.30.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 — 进程名称(命令名/命令行) top 交互命令 h 显示top交互命令帮助信息 c 切换显示命令名称和完整命令行 m 以内存使用率排序 P 根据CPU使用百分比大小进行排序 T 根据时间/累计时间进行排序 W 将当前设置写入~/.toprc文件中 o或者O 改变显示项目的顺序
删除执行中的程序或者工作,发送指定的信号到相应的进程,如果不指定信号的话,将发送sigterm(15)终止指定进程,用‘-KILL’参数,发送信号SIGKILL(9)强制结束进程
常用参数: -l 信号,若不加信号的编号参数,会全部列出信号的名称。 -a 当处理当前进程时,不限制命令名和进程号的对应关系 -p 指定kill命令只打印相关进程的进程号,而不发送任何信号 -s 指定发送信号 -u 指定用户 示例: kill -l 显示信号 kill -KILL 8878 强制杀死进程 8878 kill -9 8878 彻底杀死进程8878 kill -u tomcat 杀死tomcat用户的进程
显示系统内存使用情况,包括物理内存、swap内存和内核cache内存
命令参数: -b 以Byte显示内存使用情况 -k 以kb为单位显示内存使用情况 -m 以mb为单位显示内存使用情况 -g 以gb 为单位显示内存使用情况 -s持续显示内存 -t 显示内存使用总合
위 내용은 직장에서 일반적으로 사용되는 30가지 Linux 명령어를 요약했습니다. 정말 기억나지 않는다면 그냥 이 글을 읽어보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!