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

三:待续~~

目录
相关文章
|
15天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
16天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
3天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
13天前
|
NoSQL Linux Shell
常用的 Linux 命令
常用的 Linux 命令
35 9
|
1天前
|
Ubuntu Linux Shell
linux免交互登陆远程主机并执行命令(密钥对和Expect)
linux免交互登陆远程主机并执行命令(密钥对和Expect)
|
1天前
|
Linux
【Linux】常用命令
【Linux】常用命令
5 0
|
1天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
4 0
Linux 网络操作命令Telnet
|
2天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
24 0
|
2天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
7 0
|
3天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0