Linux常用命令

您所在的位置:网站首页 linux中查看日志常用指令 Linux常用命令

Linux常用命令

2023-03-14 01:44| 来源: 网络整理| 查看: 265

Linux常用命令 目录操作 pwd 查看当前工作目录 clear 清除屏幕 cd ~ 当前用户目录 cd / 根目录 cd - 上一次访问的目录 cd .. 上一级目录 查看树状目录结构 tree 目录名 查看目录内信息 ll 查看当前目录下内容(LL的小写) ll -a 查看当前目录下包含隐藏文件的内容 创建目录 mkdir 递归创建目录(会创建里面没有的目录文件夹) mkdir -p 搜索命令 find / -name 'b' 查询根目录下(包括子目录),名以b的目录和文件; find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件; 剪切命令(有目录剪切到制定目录下,没有的话剪切为指定目录) mv mv index.html test 将index.html放到test目录下 mv /aaa /bbb 将根目录下的aaa目录,移动到bbb目录下(假如没有bbb目录,则重命名为bbb); mv bbbb usr/bbb 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb; mv bbb usr/aaa 将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为aaa; 复制目录 cp -r /aaa /bbb 将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa cp -r /aaa /bbb/aaa 将/目录下的aa目录复制到/bbb目录下,且修改名为aaa; 删除目录 rm -r /bbb 普通删除。会询问你是否删除每一个文件 rmdir test01 目录的删除 强制式删除指定目录 rm -rf /bbb 强制删除/目录下的bbb目录。如果bbb目录中还有子目录,也会被强制删除,不会提示; 批量操作 需要采用{}进行参数的传入 mkdir {dirA,dirB} 批量创建测试目录 touch dirA/{A1,A2,A3} dirA创建三个文件dirA/A1,dirA/A2,dirA/A3 文件操作 创建文件 touch 删除 rm -r a.java 删除当前目录下的a.java文件(每次回询问是否删除y:同意) 强制删除 rm -rf a.java 强制删除当前目录下的a.java文件 rm -rf ./a* 强制删除当前目录下以a开头的所有文件 rm -rf ./* 强制删除当前目录下所有文件(慎用) 在Linux里面不要使用,会删除所有文件,而Linux是文件系统,也就是说将Linux删除了 递归删除.pyc格式的文件 find . -name '*.pyc' -exec rm -rf {} \; 递归删除指定大小的文件(145800) find . -name "*" -size 145800c -exec rm -rf {} \; 打印当前文件夹下指定大小的文件 find . -name "*" -size 145800c -print "." 表示从当前目录开始递归查找 “ -name '*.exe' " 根据名称来查找,要查找所有以.exe结尾的文件夹或者文件 " -type f " 查找的类型为文件 "-print" 输出查找的文件目录名 -size 145800c 指定文件的大小 -exec rm -rf {} \; 递归删除(前面查询出来的结果) split拆分文件 split命令:可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。 b:值为每一输出档案的大小,单位为 byte。 -C:每一输出档中,单行的最大 byte 数。 -d:使用数字作为后缀。 -l:值为每一输出档的行数大小。 -a:指定后缀长度(默认为2)。 使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件: split -l 10 date.file 文件内容操作(查看日志,更改配置文件) 修改文件内容 vim a.java 进入一般模式 i(按键) 进入插入模式(编辑模式) ESC(按键) 退出 :wq 保存退出(shift+:调起输入框) :q! 不保存退出(shift+:调起输入框)(内容有更改)(强制退出,不保留更改内容) :q 不保存退出(shift+:调起输入框)(没有内容更改) 文件内容的查看 cat a.java 查看a.java文件的最后一页内容; more a.java 从第一页开始查看a.java文件内容,按回车键一行一行进行查看,按空格键一页一页进行查看,q退出; less a.java 从第一页开始查看a.java文件内容,按回车键一行一行的看, 按空格键一页一页的看,支持使用PageDown和PageUp翻页,q退出; more 和 less的区别: less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示 less不必读整个文件,加载速度会比more更快 less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容. 由于more不能后退 实时查看文件后几行(实时查看日志) tail -f a.java 查看a.java文件的后10行内容; 前后几行查看 head a.java 查看a.java文件的前10行内容; tail -f a.java 查看a.java文件的后10行内容; head -n 7 a.java 查看a.java文件的前7行内容; tail -n 7 a.java 查看a.java文件的后7行内容; 文件内部搜索指定的内容

head a.java 查看a.java文件的前10行内容; tail -f a.java 查看a.java文件的后10行内容; head -n 7 a.java 查看a.java文件的前7行内容; tail -n 7 a.java 查看a.java文件的后7行内容;

终止当前操作 ctrl+z 将任务中断,但是任务并没有结束,在进程中只是维持挂起的状态 用户可以使用fg/bg操作前台或后台的任务 fg命令重新启动前台被中断的任务 bg命令把被中断的任务放在后台执行 ctrl+c 强制中断程序的执行 重定向功能 可以使用 > 或 < 将命令的输出的命令重定向到test.txt文件中(没有则创建一个) echo 'Hello World' > /root/test.txt Global Regular Expression Print (grep) (检索文件内容) grep [options] pattern file 从test开头文件中,查找含有start的行 grep "start" test* 查看包含https的行,并展示前1行(-A),后1行(-B) grep -A 1 -B 1 "https" wget-log awk(数据统计) awk [options] 'cmd' file

一次读取一行文本,按输入分隔符进行切片,切成多个组成部分。 将切片直接保存在内建的变量中,$1,$2…($0表示行的全部)。 支持对单个切片的判断,支持循环判断,默认分隔符为空格。 -F 指定分隔符(默认为空格)

将email.out进行切分,打印出第1/3列内容 awk '{print $1,$3}' email.out 将email.out进行切分,打印出第1/3列内容 awk '{print $1,$3}' email.out 将email.out进行切分,当第1列为tcp,第2列为1的列,全部打印 awk '$1=="tcp" && $2==1{print $0}' email.out 在上面的基础上将表头进行打印(NR表头) awk '($1=="tcp" && $2==1)|| NR==1 {print $0}' email.out 以,为分隔符,切分数据,并打印第二列的内容 awk -F "," '{print $2}' test.txt 将日志中第1/3列进行打印,并对第1列的数据进行分类统计 awk '{print $1,$3}' email.out | awk '{count[$1]++} END {for(i in count) print i "\t" count[i]}' 根据逗号,切分数据,并将第一列存在文件test01.txt中 awk -F "," '{print $1 >> "test01.txt"} sed替换标记 g 表示行内全面替换。 p 表示打印行。 w 表示把行写入一个文件。 x 表示互换模板块中的文本和缓冲区中的文本。 y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 替换解析 sed -i 's/^Str/String/' replace.java 将末尾的.替换为;(转义.) sed -i 's/\.$/\;/' 全文将Jack替换为me(g是全部替换,不加只替换首个) sed -i 's/Jack/me/g/ replace.java 删除replace.java中的空格(d是删除) sed -i '/^ *$/d' replace.java 删除包含Interger的行(d是删除) sed -i '/Interger/d' replace.java

6.多命令一起执行

grep 'input' 123.txt | sed 's/\"//g; s/,/\n/g' 替换后将数据保存在文中 grep 123.txt | sed -n 's/\"//gw test01.txt' 管道操作符 |

可将指令连接起来,前一个指令的输出作为后一个指令的输入

find ~ |grep "test" find ~ //查找当前用户所有文件 grep "test" //从文件中 使用管道注意的要点 只处理前一个命令正确输出,不处理错误输出。 右边命令必须能够接收标准输入流,否则传递过程中数据会被抛弃 sed,awk,grep,cut,head,top,less,more,c,join,sort,split等

1.从email.log文件中查询包含error的行

grep 'error' email.log

2.获取到error的行,并取[]含有数字的

grep 'error' email.log | grep -o '\[0-9\]' 并过滤掉含有当前进程 ps -ef|grep tomcat |grep -v 替换后将数据保存在文中 grep 123.txt | sed -n 's/\"//gw test01.txt' 将文件123.txt,按,切分,去除",按:切分后,将第一列存到文件test01.txt中 grep 'input' 123.txt | awk -F ',' '{print $2}' | sed 's/\"//g; s/,/\n/g' | awk -F ":" '{print $1 >> "test01.txt"}' cut(数据裁剪) 从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。 也可采用管道输入。 选项参数功能-f列号,提取第几列-d分隔符,按照指定分隔符分割列,默认是制表符“\t” 系统日志位置 cat /etc/redhat-release 查看操作系统版本 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相关的日志信息 /var/log/boot.log 守护进程启动和停止相关的日志消息 查看某文件下的用户操作日志 到达操作的目录下,执行下面的程序: cat .bash_history 创建与删除软连接 创建软连接 ln -s /usr/local/app /data

注意:创建软连接时,data目录后不加 / (加上后是查找其下一级目录) 在这里插入图片描述

删除软连接 rm -rf /data

注意:取消软连接最后没有/,rm -rf 软连接。加上/是删除文件夹 在这里插入图片描述

压缩和解压缩 tar

在这里插入图片描述

压缩 tar -cvf start.tar a.java b.java //将当前目录下a.java、b.java打包 tar -cvf start.tar ./* //将当前目录下的所欲文件打包压缩成haha.tar文件 tar -zcvf start.tar.gz a.java b.java //将当前目录下a.java、b.java打包 tar -zcvf start.tar.gz ./* //将当前目录下的所欲文件打包压缩成start.tar.gz文件 解压缩tar -xvf start.tar //解压start.tar压缩包,到当前文件夹下; tar -xvf start.tar -C usr/local //(C为大写,中间无空格) //解压start.tar压缩包,到/usr/local目录下; tar -zxvf start.tar.gz //解压start.tar.gz压缩包,到当前文件夹下; tar -zxvf start.tar.gz -C usr/local //(C为大写,中间无空格) //解压start.tar.gz压缩包,到/usr/local目录下; 解压缩tar.xz文件 tar xf node-v12.18.1-linux-x64.tar.xz 压缩和解压缩 zip 压缩(zip) zip lib.zip tomcat.jar //将单个文件压缩(lib.zip) zip -r lib.zip lib/ //将目录进行压缩(lib.zip) zip -r lib.zip tomcat-embed.jar xml-aps.jar //将多个文件压缩为zip文件(lib.zip) 解压缩(unzip) unzip file1.zip //解压一个zip格式压缩包 unzip -d /usr/app/com.lydms.english.zip //将`english.zip`包,解压到指定目录下`/usr/app/` Linux下文件的详细信息 R:Read w:write x: execute执行 -rw-r--r-- 1 root root 34942 Jan 19 2018 bootstrap.jar 前三位代表当前用户对文件权限:可以读/可以写/不能执行 中间三位代表当前组的其他用户对当前文件的操作权限:可以读/不能写/不能执行 后三位其他用户对当前文件权限:可以读/不能写/不能执行

在这里插入图片描述

更改文件的权限 chmod u+x web.xml (---x------) 为文件拥有者(user)添加执行权限; chmod g+x web.xml (------x---) 为文件拥有者所在组(group)添加执行权限; chmod 111 web.xml (---x--x--x) 为所有用户分类,添加可执行权限; chmod 222 web.xml (--w--w--w-) 为所有用户分类,添加可写入权限; chmod 444 web.xml (-r--r--r--) 为所有用户分类,添加可读取权限;

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3