Linux

Linux

Lℹnux命令行

awk

内置变量
内置变量说明
FS列分割符。指定每行文本的字段分隔符,默认为空格或制表位。与"-F"作用相同
NF当前处理的行的字段个数
NR当前处理的行的行号(序数)
$0当前处理的行的整行内容
$n当前处理行的第n个字段(第n列)
FILENAME被处理的文件名
RS行分隔符。awk从文件上读取资料时,将根据RS的定义把资料切割成许多条记录,而awk一次仅读入一条记录,以进行处理。预设值是’\n’
按行输出文本
awk    ' {print}  '  123.txt #输出所有内容
awk    ' {print $0} ' 123.txt #$0代表整行
awk    ' NR==1,NR==5{print }' 123.txt#输出1-3行
awk    ' NR==1||NR==4{print}' 123.txt#输出第一和第四行
awk    ' (NR%2)==1{print }' 123.txt#输出奇数行
awk    ' /^0/{print }' 123.txt#输出以0开头的行
awk    ' BEGIN{X=0};/^1/{x++};END {print }' 123.txt#统计以1开头的行数
按字段输出文本
-F #指定分隔符
awk -F  ":"  '{print $2}'#以冒号分割,输出第二个字段 

cat

参数含义
-b显示文件中的行号,空行不编号
-E在文件的每一行行尾加上“$”字符
-T将文件的Tab键用字符“^I”来显示
-n在文件的每行前面显示行号
-s将连续的多个空行用一个空行来显示
-v显示除Tab和Enter之外的所有字符

chattr

chattr命令用于设置文件的隐藏权限,英文全称为change attributes,语法格式为“chattr [参数] 文件名称”。

如果想要把某个隐藏功能添加到文件上,则需要在命令后面追加“+参数”,如果想要把某个隐藏功能移出文件,则需要追加“-参数”。chattr命令中可供选择的隐藏权限参数非常丰富,具体如表5-8所示。

​ chattr命令中的参数及其作用

参数作用
i无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S文件内容在变更后立即同步到硬盘(sync)
s彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A不再修改这个文件或目录的最后访问时间(atime)
b不再修改文件或目录的存取时间
D检查压缩文件中的错误
d使用dump命令备份时忽略本文件/目录
c默认将文件或目录进行压缩
u当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t让文件系统支持尾部合并(tail-merging)
x可以直接访问压缩文件中的内容

cp

参数含义
-a该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录
-f删除已经存在的目标文件而不提示
-i交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-p此时cp命令除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-l不作复制,只是链接文件

df

df -h查看磁盘空间

date

date cal

free

free -m/-g查看内存

find

find命令详解

通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

find  目录  -选项  动作[-print -exec -ok ...]
参数含 义
-name <filename>指定搜索的文件名,输出搜索结果
-iname按照文件名查找文件(忽略大小写)
-user <username>搜索指定用户搜索所属的文件
-atim <time>搜索在指定的时间内读取过的文件
-ctim <time>搜索在指定的时间内修改过的文件
-aand 必须满足两个条件才显示
-oor 只要满足一个条件就显示
-type根据文件类型进行搜索
-perm按照文件权限来查找文件
-fprint <filename>将匹配的文件输出到文件
-newer file1 ! newer file2查找更改时间比文件file1新但比文件file2旧的文件
参数含义
-print默认动作,将匹配的文件输出到标准输出
-exec对匹配的文件执行该参数所给出的命令。相应命令的形式为 ‘command’ { } ;,注意{ }和\;之间的空格。
-ok和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
-delete将匹配到的文件删除
find /home/ -name "*.txt" #在/home目录下查找以.txt结尾的文件名
find /home -iname "*.txt"
find /home/ -name "*.txt" -o -name "*.pdf"#查找 /home/ 下所有以.txt或.pdf结尾的文件
find /home/ -type f -name "*.txt" -fprint /tmp/re.txt #搜索/home目录下txt结尾的文件,并将输出到指定文件中(re.txt)
find /usr/local/ -maxdepth 3 -type d#向下最大深度限制为3
 f   #普通文件
 l   #符号连接(软连接)
 d  #目录
 b  #块设备
 s  #套接字
根据时间戳
  • 访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。

  • 修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间

  • 变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

find /etc/ -type f -atime -7#搜索最近七天内被访问过的所有文件
find /etc -type f -atime +7#搜索超过七天内(7天外)被访问过的所有文件
根据文件大小
   b —— 块(512字节)
    c —— 字节
    w —— 字(2字节)
    k —— 千字节
    M —— 兆字节
    G —— 吉字节
find /etc/ -type f -size +10k#搜索大于10KB的文件
find /etc/ -type f -size -10k#搜索小于10KB的文件
find /etc/ -type f -size   10k#搜索等于10KB的文件
find /var/log -type f -name "*.log" -size +10G -delete#搜索大于10G的日志文件,并删除
根据文件权限
find / -type f -perm 644#指定目录下搜索出权限为644的文件
find / -type f -name "*.txt" ! -perm 644#找出指定目录下权限不是644的txt文件
find /home/ -type f -user frank#找出/home目录用户frank拥有的所有文件
find /home/ -type f -group frank#找出/home目录用户组frank拥有的所有文件

借助-exec

找出/tmp目录下所有root的文件,并把所有权更改为用户frank

find /tmp/ -type f -user root -exec chown frank {} \;
#使用占位符{}来表示find到的文件名

找出家目录下所有的.sh文件并删除

[root@localhost home]# find $HOME -name "*.sh" -ok rm {} \;
< rm ... /root/install_lnmp.sh > ? y
#-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。

查找/home目录下所有.txt文件并把他们拼接到all.txt文件中

find /home/ -type f -name "*.txt" -exec cat {} \;>all.txt

查找home目录下所有.txt文件并把他们复制到/opt/backup文件中

find /home/ -type f -name "*.txt" -exec cp {} /opt/backup/ \;

在/var/log目录中查找更改时间在5日以前的文件并删除它们

find /var/log -type f -mtime +5 -exec rm {} \;

head & tail

head -n 文件路径查看前n行

tail -n 文件路径查看后n行,tail -f 文件路径查看一个文件的动态变化内容

ifconfig

ifconfig用于操作网卡相关的指令

kill

less

ls

参数含义
-a显示指定目录下所有子目录与文件,包括隐藏文件
-c按文件的修改时间排序
-F在列出的文件名后以符号表示文件类型:目录文件后加“/”,可执行文件后加“*”,符号链接文件后加“@”,管道文件后加“
h-以用户习惯的单位表示文件的大小,K表示千,M表示兆。通常与-l选项搭配使用
-l以长格式显示文件的详细信息。每行列出的信息依次是:文件类型与权限、链接数、文件属主、文件属组、文件大小、文件建立或修改的时间、文件名。对于符号链接文件,显示的文件名后有“—>”和引用文件路径名;对于设备文件,其“文件大小”字段显示主、次设备号,而不是文件大小。目录中总块数显示在长格式列表的开头,其中包含间接块
-r从后向前地列举目录中的内容
-s按文件大小排序
-t按文件建立的时间排序,越新修改的越排在前面
-u按文件上次存取时间排序

man

man 命令查询命令,退出按q

more

和cat命令类似,more可将文件内容显示在屏幕上,

1.每次只显示一页,

2.按下空格键可以显示下一页,

3.按下q键退出显示. 文件中搜索指定的字符串。

其格式如下:

ps

  • ps -ef 查看服务器的信息
  • -e:等价于“-A”,表示列出全部的进程
  • -f:显示全部的列(显示全字段)
  • ps -ef |grep 进程名称在ps的结果中过滤出想要查看的进程状态

kill 进程的PID配合ps -ef使用

rm

参数含 义
-i以进行交互式方式执行
-f强制删除,忽略不存在的文件,无需提示
-r递归地删除目录下的内容

service

service 服务名 start/stop/restart

top

进入:top 推出:q

名称含义
PID进程id
USER该进程对应的用户
PR优先级
VIRT虚拟内存;
RES常驻内存;
SHR共享内存;
S表示进程的状态status(sleeping,其中S表示睡眠,R表示运行)
%CPU表示CPU的占用百分比
%MEM表示内存的占用百分比
TIME+执行的时间
COMMAND进程的名称或者路径

在运行top的时候,可以按下方便的快捷键:

M:表示将结果按照内存(MEM)从高到低进行降序排列;

P:表示将结果按照CPU使用率从高到低进行降序排列;

当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息

tree

树形结构列出指定目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件。

-a                            #显示所有文件
-d                           #只显示目录
-f                            #显示每个文件的全路径
-i                            #不显示树枝
-L level                #遍历目录的最大层数             
-F                           #在不同文件类型的结尾,各自加上不同符号
-I                           #使用正则匹配不想看到的文件夹
文件类型符号
执行文件*
目录\
Socket=
符号连接@
管道名称|
tree -L 1 -F /boot/|grep /$      #<==过滤以斜线结尾的所有内容 
#$在Linux正则表达式中标识以什么什么结尾,^表示以什么什么开头,^$表示空行

  tree -L 2 > /home/luke/tree.txt  #把目录结构信息保存到文本中

wc

wc -lwd 需要统计的文件路径

  • -l lines
  • -w words
  • -c bytes

|

管道符 | 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。

语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用

  • 过滤:需要通过管道查询出根目录下包含“y”字母的文档名称。

    ls / | grep y  #①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;②grep指令:主要用于过滤
    
  • cat 路径 | less 路径

–prefix

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装( make install ).

Configure是一个可执行的脚本,它有很多选项,在待安装的源码路径下使用命令./configure–help 输出详细的选项列表。其中–prefix选项是配置安装的路径.

如果不配置该选项,安装后可执行文件默认放在/usr/local/bin中,库文件默认放在/usr/local/lib中,配置文件默认放在/usr/local/etc中,其它的资源文件放在/usr/local/share中,比较凌乱。

如果配置–prefix,如:./configure --prefix=/usr/lcoal/test

可以把所有的资源文件放在/user/local/test路径中,不会杂乱。

./configure

快捷键

ctl +L清屏

Linux系统基础

用户身份与文件权限

Linux系统中常见的目录名称以及相应内容

目录名称应放置文件的内容
/boot开机所需文件—内核、开机菜单以及所需配置文件等
/dev以文件形式存放任何设备与接口
/etc配置文件
/home用户主目录
/bin存放单用户模式下还可以操作的命令
/lib开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin开机过程中需要的命令
/media用于挂载设备文件的目录
/opt放置第三方的软件
/root系统管理员的家目录
/srv一些网络服务的数据文件目录
/tmp任何人均可使用的“共享”临时目录
/proc虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local用户自行安装的软件
/usr/sbinLinux系统开机时不会使用到的软件/命令/脚本
/usr/share帮助与说明文件,也可放置共享文件
/var主要存放经常变化的文件,如日志
/lost+found当文件系统发生错误时,将一些丢失的文件片段存放在这里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值