linux基本命令

简介: 一:linux命令1.ls命令-l :列出长数据串,包含文件的属性与权限数据等-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)-d :仅列出目录本身,而不是列出目录的文件数据-h :将文件容量以较易读的方式(GB,k...

一:linux命令

1.ls命令

-l :列出长数据串,包含文件的属性与权限数据等

-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)

-d :仅列出目录本身,而不是列出目录的文件数据

-h :将文件容量以较易读的方式(GB,kB等)列出来

-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

2.MV命令([选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件)

-b  覆盖前做备份

-f  如存在不询问而强制覆盖

-i  如存在则询问是否覆盖-u  较新才覆盖

-t  将多个源文件移动到统一目录下,目录参数在前,文件参数在后eg:    

mv a /tmp/ 将文件a移动到 /tmp目录下    

mv a b 将a命名为b    mv /home/zenghao test1.txt test2.txt test3.txt

3.rmdir 删除空目录

-v  显示执行过程

-p  若自父母删除后父目录为空则一并删除

4.tac | 反向显示

5.more | 按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

+n  从第n行开始显示

-n  每次查看n行数据

+/String    搜寻String字符串位置,从其前两行开始查看

-c  清屏再显示

-p  换页时清屏

6.nl [选项]… [文件]… | 将输出内容自动加上行号

-b

-b a 不论是否有空行,都列出行号(类似 cat -n)

-b t 空行则不列行号(默认)

-n 有ln rn rz三个参数,分别为再最左方显示,最右方显示不加0,最右方显示加0

7.vi 编辑文件

:w filename 将文章以指定的文件名保存起来

:wq保存并退出

:q!不保存而强制退出命令行模式功能键1)

1)插入模式   

 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;    

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;    

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2)从插入模式切换为命令行模式  按「ESC」键。

3)移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按「ctrl」+「b」:屏幕往"后"移动一页。

按「ctrl」+「f」:屏幕往"前"移动一页。

按「ctrl」+「u」:屏幕往"后"移动半页。

按「ctrl」+「d」:屏幕往"前"移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的"行尾"。

按「^」:移动到光标所在行的"行首"按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

4)删除文字

「x」:每按一次,删除光标所在位置的"后面"一个字符。

「#x」:例如,「6x」表示删除光标所在位置的"后面"6个字符。

「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符。

「#X」:例如,「20X」表示删除光标所在位置的"前面"20个字符。

「dd」:删除光标所在行。

「#dd」:从光标所在行开始删除#行

5)复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「#yw」:复制#个字到缓冲区「yy」:复制光标所在行到缓冲区。

「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能。

6)替换

「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7)回复上一次操作

「u」:如果您误执行一个命令,可以马上按下

「u」,回到上一个操作。按多次"u"可以执行多次回复。

8)更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

9)跳至指定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

8.which 

可执行文件名称 | 查看可执行文件的位置,在PATH变量指定的路径中查看系统命令是否存在及其位置

9.whereis [-bmsu] [BMS 目录名 -f ] 文件名| 定位可执行文件、源代码文件、帮助文件在文件系统中的位置

-b  定位可执行文件。

-m  定位帮助文件。

-s  定位源代码文件。

-u  搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B  指定搜索可执行文件的路径。

-M  指定搜索帮助文件的路径。

-S  指定搜索源代码文件的路径。

10.useradd [-u UID] [-g 初始群组] [-G 次要群组] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名 | 新增用户

-M  不建立用户家目录!(系统账号默认值)

-m  建立用户家目录!(一般账号默认值)

-r  建立一个系统的账号,这个账号的 UID 会有限制

-e  账号失效日期,格式为『YYYY-MM-DD』

-D  查看useradd的各项默认值

11.env 

显示环境变量

12.export 

把普通变量变成环境变量

13.ps 

 列出当前进程的快照

a  显示所有的进程

-a  显示同一终端下的所有程序

e  显示环境变量

f  显示进程间的关系

-H  显示树状结构r  显示当前终端的程序

T  显示当前终端的所有程序

-au 显示更详细的信息

-aux    显示所有包含其他使用者的行程

-u  指定用户的所有进程

14.crontab 

 定时任务调度

file    载入crontab-e  编辑某个用户的crontab文件内容

-l  显示某个用户的crontab文件内容

-r  删除某个用户的crontab文件

15.AWK

说到了内建变量,我们可以来看看awk的一些内建变量:

$0         当前记录(这个变量中存放着整个行的内容)

$1~$n          当前记录的第n个字段,字段间由FS分隔

FS        输入字段分隔符 默认是空格或Tab

NF       当前记录中的字段个数,就是有多少列

NR      已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。

FNR          当前记录数,与NR不同的是,这个值会是各个文件自己的行号

RS        输入的记录分隔符, 默认为换行符

OFS     输出字段分隔符, 默认也是空格

ORS      输出的记录分隔符,默认为换行符

FILENAME         当前输入文件的名字

实例:

awk '$6 ~ /FIN/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

awk '$6 ~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt

上面的第一个示例匹配FIN状态, 第二个示例匹配WAIT字样的状态。其实 ~ 表示模式开始。/ /中是模式。这就是一个正则表达式的匹配。


$ awk 'NR!=1{if($6 ~/TIME|ESTABLISHED/) print >"1.txt";

else if($6 ~/LISTEN/) print >"2.txt";

else print >"3.txt"}' netstat.txt

#运行前

BEGIN {

math = 0

english = 0

computer = 0

printf"NAME    NO.   MATH  ENGLISH  COMPUTER   TOTAL\n"

printf"---------------------------------------------\n"

}

#运行中

{

math+=$3

english+=$4

computer+=$5

printf"%-6s %-6s %4d %8d %8d %8d\n", $1, $2, $3,$4,$5, $3+$4+$5

}

#运行后

END {

printf"---------------------------------------------\n"

printf"  TOTAL:%10d %8d %8d \n", math, english, computer

printf"AVERAGE:%10.2f %8.2f %8.2f\n", math/NR, english/NR, computer/NR

}

#从file文件中找出长度大于80的行

awk'length>80'file

#按连接数查看客户端IP

netstat-ntu |awk'{print $5}'|cut-d: -f1 |sort|uniq-c |sort-nr

#打印99乘法表

seq9 |sed'H;g'|awk-vRS='''{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}'

二:linuxSHELL编程

1.基本例子:

#!/bin/sh

cd ~

mkdir shell_tut

cd shell_tut

for ((i=0; i<10; i++)); do

touch test_$i.txt

done


第1行:指定脚本解释器,这里是用/bin/sh做解释器的

第2行:切换到当前用户的home目录

第3行:创建一个目录shell_tut

第4行:切换到shell_tut目录

第5行:循环条件,一共循环10次

第6行:创建一个test_1…10.txt文件

第7行:循环体结束

cd, mkdir, touch都是系统自带的程序,一般在/bin或者/usr/bin目录下。for, do, done是sh脚本语言的关键字

2.字符串操作:

拼接字符串

your_name="qinjx"

greeting="hello, "$your_name" !"

greeting_1="hello, ${your_name} !"

echo $greeting $greeting_1

获取字符串长度:

string="abcd"

echo ${#string} #输出:4

提取子字符串

string="alibaba is a great company"

echo ${string:1:4} #输出:liba

查找子字符串

string="alibaba is a great company"

echo `expr index "$string" is`#输出:8,这个语句的意思是:找出单词is在这名话中的位置

3.ifelse

if condition1

then

command1

elif condition2

command2

else

commandN

fi

4.case:

case "${opt}" in

"Install-Puppet-Server" )

install_master $1

exit

;;

"Install-Puppet-Client" )

install_client $1

exit

;;

"Config-Puppet-Server" )

config_puppet_master

exit

;;

"Config-Puppet-Client" )

config_puppet_client

exit

;;

"Exit" )

exit

;;

* ) echo "Bad option, please choose again"

esac

三:待续~~

目录
相关文章
|
1天前
|
Linux 数据处理 调度
深入探索Linux的renice命令:优化进程优先级
`renice`命令在Linux中用于调整运行进程的优先级,范围-20(最高)至19(最低)。它可以实时改变进程的优先级,无需重启,支持按PID、进程组或用户批量修改。例如,`renice -n 10 -p 1234`将PID为1234的进程优先级设为10。使用时要注意不要滥用高优先级,避免频繁修改,了解系统负载,并记录变更,通常需root权限。
|
1天前
|
Linux 数据处理 Perl
深入探索Linux的rename命令:文件重命名利器
**Linux的`rename`命令是批量重命名文件的利器,基于正则表达式或Perl,支持预览、交互式确认及多种操作模式。常用示例:用`s/ /_/g`替换空格为下划线,`s/$/.txt/`添加扩展名,`s/\..*//`删除扩展名。使用时注意备份、测试命令、权限和正则表达式知识。**
|
1天前
|
Linux Shell
Linux中的realpath命令:深入解析与实用指南
**Linux的`realpath`命令详解** `realpath`用于获取文件或目录的规范化绝对路径,解析相对路径、符号链接及冗余元素。它接受路径输入,返回最短、唯一的绝对路径。支持 `-e`(确保路径存在)、`-m`(允许缺失组件)、`-s`(删除多余斜杠)和`-q`(静默模式)等参数。在脚本中使用能确保路径一致性,但需注意权限和路径检查。了解`pwd`、`find`和`readlink`等命令的用法也有助于选择合适的路径处理工具。
|
1天前
|
缓存 Linux 虚拟化
Linux下top命令指标说明
Linux下top命令指标说明
8 0
|
2天前
|
Linux
Linux的top命令是什么,如何使用
【6月更文挑战第30天】Linux的top命令是什么,如何使用
6 1
|
3天前
|
Linux 数据处理
探索Linux下的readlink命令:解析符号链接的利器
`readlink`命令在Linux中用于揭示符号链接的指向,显示它们所链接的实际文件或目录的路径。它可以显示简洁的绝对路径(-f),处理循环链接(-e),或不加换行符输出(-n)。例如,查看`link.txt`指向:`readlink link.txt`;获取绝对路径:`readlink -f link.txt`。使用时要注意链接是否存在、权限问题和可能的循环链接。
|
3天前
|
Linux 数据处理
探索Linux下的readelf命令:深入了解ELF文件
`readelf`是Linux下分析ELF文件的命令行工具,用于查看文件头、节区、符号表等信息。支持可执行文件、共享库等多种类型。常用选项有`-h`(文件头)、`-l`(程序头)、`-S`(节区)、`-s`(符号表)、`-r`(重定位)和`-d`(动态节区)。结合其他工具如`objdump`,能深入理解二进制文件,助力开发和调试。
|
3天前
|
Linux
常用的Linux系统命令及其使用技巧
常用的Linux系统命令及其使用技巧
|
4天前
|
存储 安全 Linux
深入解析Linux的`read`命令
`read`命令在Linux shell中用于从标准输入读取数据并赋值给变量。它可以用于交互式脚本,提供用户输入或读文件。关键选项包括`-p`(提示用户)、`-r`(禁用转义)、`-s`(静默模式,适合密码)、`-t`(超时)和`-n`(读取特定字符数)。示例包括基本输入、带提示的密码输入和设置超时的输入。注意安全处理密码和验证用户输入。
|
4天前
|
存储 Linux 数据处理
Linux中的raw命令:深入解析与实用指南
Linux的`raw`命令详解:用于直接访问硬件设备,绕过文件系统,提供高灵活性和性能。适用于数据处理,如直接复制文件或设备数据。使用时需谨慎,注意设备理解、数据备份及正确选项选择。结合其他工具可实现更多功能。示例:`raw file1 file2`复制文件,`raw -s 1024 file1 file2`跳过字节复制。