linux常用命令
1、ls (list) 查看linux文件夹包含的文件
ls -a 列出所以文件,包含隐藏文件
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l除了文件名之外,还有文件的权限、所有者、文件大小等信息
2、cd (chaneg directory) 进入目录
cd / 进入根目录
cd ~ 进入home目录
cd - 进入上一次工作路径
cd !$ 把上个命令的参数作为cd参数用
3、pwd 查看当前工作路径目录
pwd -p 查看软连接的实际路径
4、rm remove
rm -rf 删除子目录及子目录中所以档案
5、mkdir (make directory)创建文件夹
6、rmdir (remove directory) 只能删除空目录,删除时必须具有对其父目录的写权限。
7、mv (move) 移动文件
8、cp (copy) 将原文件复制至目标文件
cp -i 提示
cd -r 复制目录及目录内所有项目
cp -a 复制的文件与原文件时间一样
9、cat
cat filename 一次性显示整个文件
cat > filename 从键盘创建一个文件
cat file1 file2 > file 将几个文件合并为一个文件
cat -n 输出所有行号
10、more 功能类似于cat但是可以一页一页方便逐页阅读,按space下一页,b就往回
more +3 text.txt 显示文件从第三行起的内容
11、less 和more类型
12、head 用来显示档案的开头至标志输出
13、tail 用于显示指定文件末尾内容
14、which
15、whereis
16、locate
17、find
18、chmod 用于改变linux系统文件或者目录的访问权限,
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
常用参数:
-c 当发送改变时,报告处理信息
-R处理指定目录以及子目录下所有文件
权限范围:
u:目录或者文件的当前的用户
g:目录或者文件的当前的群组
a:所有 的用户及群组
实例:
chmod a+x t.log 增加文件t.log所有用户可执行权限
chmod 777 +文件 就是给这个文件所以人的读、写、执行权限
读权限(read,r)的值是4,写权限(write,w)的值是2,执行权限(execute,x)的值是1
19、tar 用于压缩和解压文件,本身只有打包功能,打包是将一大堆文件或者目录变成一个总的文件
常用参数:
-c (creat)建立新的压缩文件
-f (file)指定压缩文件
-u 添加改了和现有的文件到压缩包中
-x 从压缩包中抽取文件
-t 显示压缩文件的内容
-z 支持gzip压缩
-j 支持bzip2压缩
-Z 支持compress解压文件
-v 显示操作过程
20、chown
21、df 显示磁盘空间使用情况,磁盘空间以1KB显示
-a 全部文件系统列表
-h 方便阅读方式显示信息
-i 显示inode信息
-l 只显示本地磁盘
22、du命令
23、ln (link)为文件在另外一个位置建立一个同步的链接,默认为硬链接
24、netstat
-t:显示TCP端口
-u:显示udp端口
-n: 不进行DNS轮询,显示IP加快速度
-a: 显示所有socket
-p:显示标识符和程序名称
25、awk
获得一个文件的特定列数据
dmesg
isomod
rmmod
make
dhcpcd
ipconfig
ifconfig
xrandr
pacman
问题
1、使用 Linux命令找出日志文件中訪問量最大的top10 IP地址
cat test.log|awk -F” “ ‘{print $2}’|sort|uniq -c|sort -nrk 1 -t’ ‘|awk -F” “ ‘{print $2}’|head -10
问题剖析:
1.cat *.log将文本内容打印到屏幕
2.使用awk命令可以按照分割符将一行分割为多个列,第一列用$1表示,第二列用$2表示,依次类推
awk -F” “ ‘{print $2} //表示用空格作为分隔符进行分割,打印出第2列
3.sort 进行排序,默认是按照ascii码进行排序的
4.uniq -c 统计相邻的行的重复数量,结果是类似 3 127.13.13.13,前面的数字代码重复的行数
sort|uniq -c //统计重复的行数
5.sort -n是按照数值进行由小到大进行排序, -r是表示逆序,-t是指定分割符,-k是执行按照第几列进行排序
sort -nrk 1 -t’ ‘
6.使用awk命令可以按照分割符将一行分割为多个列,第一列用$1表示,第二列用$2表示,依次类推
awk -F” “ ‘{print $2}’ //表示用空格作为分隔符进行分割,打印出第2列
7.head -n表示取前n个
head -10
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!