Linux 基本操作命令
文件和目录管理
创建和删除
创建:mkdir
删除:rm
删除非空目录:rm -rf file 目录
删除日志 rm log (等价: $find ./-name “log” -exec rm {} ; )
移动:mv
复制:cp (复制目录:cp -r)
创建文件 touch
查看
显示当前目录下的文件 ls
按时间排序,以列表的方式显示目录项 ls -lrt
ls -l
查看文件内容 cat 可以加 more 、less 控制输出的内容的大小
cat a.text
cat a.text | more
cat a.text| less
权限
改变文件的拥有者 chown
改变文件读、写、执行等属性 chmod
递归子目录修改: chown -R tuxapp source/
增加脚本可执行权限: chmod a+x myscript
管道和重定向
把前一个命令的执行结果当做后一个命令的输入 |
串联:使用分号 ;
前面成功,则执行后面一条,否则,不执行: &&
前面失败,则后一条执行: ||
ls /proc && echo suss! || echo failed.
文本处理
文件查找 find
find 参数很多,本文只介绍几个常用的
-name 按名字查找
-type 按类型
-atime 访问时间
find . -atime 7 -type f -print
find . -type d -print //只列出所有目录
find / -name "hello.c" 查找hello.c文件
文本查找 grep
grep match_patten file // 默认访问匹配行
常用参数
-o 只输出匹配的文本行 VS -v 只输出没有匹配的文本行
-c 统计文件中包含文本的次数
grep -c “text” filename
-n 打印匹配的行号
-i 搜索时忽略大小写
-l 只打印文件名
grep "class" . -R -n # 在多级目录中对文本递归搜索(程序员搜代码的最爱)
cat LOG.* | tr a-z A-Z | grep "FROM " | grep "WHERE" > b #将日志中的所有带where条件的sql查找查找出来
文本替换 sed
sed 'command' file(s)
首处替换
sed 's/text/replace_text/' file //替换每一行的第一处匹配的text
全局替换
sed 's/text/replace_text/g' file
默认替换后,输出替换后的内容,如果需要直接替换原文件,使用 -i:
sed -i 's/text/repalce_text/g' file
移除空白行
sed '/^$/d' file
sed 's/book/books/' file #替换文本中的字符串:
sed 's/book/books/g' file
sed '/^$/d' file #删除空白行
数据流处理 awk
详细教程可以查看
http://awk.readthedocs.io/en/latest/chapte...awk ' BEGIN{ statements } statements2 END{ statements } '
工作流程
1. 执行 begin 中语句块;
2. 从文件或 stdin 中读入一行,然后执行 statements2,重复这个过程,直到文件全部被读取完毕;
3. 执行 end 语句块;
特殊变量
NR: 表示记录数量,在执行过程中对应当前行号;
NF: 表示字段数量,在执行过程总对应当前行的字段数;
$0: 这个变量包含执行过程中当前行的文本内容;
$1: 第一个字段的文本内容;
$2: 第二个字段的文本内容;
awk '{print $2, $3}' file
# 日志格式:'$remote_addr - $remote_user "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'
#统计日志中访问最多的10个IP
awk '{a++}END{for(i in a)print a,i|"sort -k1 -nr|head -n10"}' access.log
排序 sort
-n 按数字进行排序 VS -d 按字典序进行排序
-r 逆序排序
-k N 指定按第 N 列排序
sort -nrk 1 data.txt
sort -bd data // 忽略像空格之类的前导空白字符
去重 uniq
消除重复行
sort unsort.txt | uniq
统计 wc
wc -l file // 统计行数
wc -w file // 统计单词数
wc -c file // 统计字符数
linux系统中操作指令大全有哪些呢?下面是具体介绍:
linux系统中操作指令有很多,最常用操作指令是:cd命令、cd命令、grep命令、find命令、cp命令、mv命令、rm命令、ps命令、kill命令、killall命令、file命令、tar命令、cat命令、chgrp命令、chown命令、chmod命令、pwd命令、vim命令、gcc命令、time命令。
1、cd命令
这是一个非常基本,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
2、ls命令
这是一个非常有用的查看文件与目录的命令。
3、grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等。
4、find命令
find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多。
5、cp命令
该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下。
6、mv命令
该命令用于移动文件、目录或更名,move之意。
7、rm命令
该命令用于删除文件或目录,remove之间。
8、ps命令
该命令用于将某个时间点的进程运行情况选取下来并输出,process之意。
9、kill命令
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用。
10、killall命令
该命令用于向一个命令启动的进程发送一个信号。
11、file命令
该命令用于判断接在file命令后的文件的基本数据。
12、tar命令
该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。
13、cat命令
该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。
14、chgrp命令
该命令用于改变文件所属用户组。
15、chown命令
该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同。
16、chmod命令
该命令用于改变文件的权限。
pwd命令
功能:显示当前所在的工作目录的绝对路径。
18、vim命令
该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。
19、gcc命令
对于一个用Linux开发C程序的人来说,这个命令就非常重要了,它用于把C语言的源程序文件,编译成可执行程序。
20、time命令
该命令用于测算一个命令(即程序)的执行时间。