Linux常用命令

1.pwd

可立刻得知您目前所在的工作目录的绝对路径名称

2.id

用于显示用户的ID,以及所属群组的ID。

3.ls

注意:目录一般显示为蓝色;文件一般显示为白色;连接一般显示为绿色。

以某种方式显示对应目录下的文件 ,隐藏文件就是在文件名前面加了个点。

解释:

d是目录文件(文件类型),后面是权限:rwx(owner:可读可写可执行)r-x(group:可读不可写可执行)r-x(other:可读不可写可执行) 2:硬链接数

第一栏root:文件拥有者,资源创建者,第二栏:group名字,是资源使用者,大小,修改时间,名字

4.mkdir aaa

在当前目录下创建aaa目录

mkdir -p ./a/b/c或mkdir -p a/b/c:在当前目录创建a,在a目录创建b,在b目录创建c(深度创建)

mkdir ./{b,c}dir或者mkdir {b,c}dir :在当前目录下创建bdir,cdir目录

5.rmdir aaa

删除当前目录下的空目录aaa

6.cat

cat f1.txt,查看f1.txt文件的内容。
cat -n f1.txt,查看f1.txt文件的内容,并且由1开始对所有输出行进行编号。
cat -b f1.txt,查看f1.txt文件的内容,用法与-n相似,只不过对于空白行不编号。
 7.less,more,head,tail
也是查看文件内容,前两个分屏显示,后两个显示头尾,都没有cat牛逼
head -3 a :显示a的前三行
tail -3 a:显示a的后三行
tail -f :循环读取
8.rm
删除文件或目录
-r : 删除目录,-f:强制(不提示)
直接rm是删除文件
rm -rf 目录:删掉目录
9.cp
10.find

find . -name "*.c" :将目前目录及其子目录下所有后缀是c 的文件列出来。

find 目录 -name 文件名: 在指定目录下查找文件
find 目录 -name 文件名 | less : 以分页形式显示

11.gcc

①各选项的含义:

-E:仅作预处理,不进行编译、汇编和链接
-S:仅编译到汇编语言,不进行汇编和链接
-c:编译、汇编到目标代码(也就是计算机可识别的二进制)
-o:执行命令后文件的命名
-g:生成调试信息
-w:不生成任何警告
-Wall:生成所有的警告

-m32 生成32位机器的汇编代码;

-m64则生成64位机器汇编代码;

②gcc编译的四个步骤: 
预处理:gcc -E Test.c -o Test.i
编译:    gcc -S Test.i -o Test.s
汇编:    gcc -c Test.s -o Test.o
链接生成可执行文件: gcc Test.o -o Test

12.tee

ping google.com | tee output.txt : 将ping输出到控制台的信息保存到output.txt中

13.cd

.:当前目录,./也表示当前目录

cd ~:进入家目录=cd,也就是进入到了/下的root目录

cd ..进入上一级目录

cd -:回到上一层路径,只能返回最近的一次

路径:
linux系统中,所有的文件与目录都是由根目录/开始,不是以/开头的就是相对路径;
.:表示当前目录,也可以用./表示;
..:表示上一级目录,也可以用../表示;
~:代表用户自己的宿主目录;

/:处于Linux文件系统树形结构的最顶端

14.touch

touch a:若a存在,则刷新它的修改和change时间,若不存在则创造空文件a。

16.type

每个外部命令对应一个应用程序

type ifconfig : 找到ifconfig这个应用程序的路径(只找外部命令)

而平常直接输入:ifconfig 就相当于再输入它的快捷方式

若显示:a shell builtin:则是一个内部命令

whereis类似于它,不过得先yum安装man

17.file

file /sbin/ifconfig:会显示这个应用程序的详细信息

若有一个ELF,表示这是一个二进制可执行程序(类似于windows下的exe)

若有一个text executable:则是一个文本命令

当查看yum文件的时候,会发现:

#!/usr/bin/python:表示先启动这个二进制可执行文件,再用这个文件处理一个文本文件,这个文件里面的东西都是解释性语言(python),即读一行解释一行。

注意:计算机只能加载可执行文件,不能加载文本文件。

18.yum

yum install man man-pages:安装man这个程序,以及一个帮助手册

19.echo 

echo "hello" : 打印hello

echo $$:$可以取一个变量,在这儿取$的值,结果是打印一个进程id

echo $path

但是正规写法是:echo ${变量名}

echo ${a}haha:打印变量a的值+haha字符串

20.ps 显示进程状态

ps -fe:打印所有进程和它的id

21.pstree

以树状图显示进程之间的关系。

注意:shell就是可以接受用户输入命令的程序,是用户和计算机之间沟通的翻译官,而bash属于shell,linux当中的shell就是bash,而bash的作用就是:用命令行接受用户输入的命令(bash看来就是字符串),然后将字符串进行分割,看看是不是内部命令,若是外部命令则需要找到相应的实体然后运行它,最后返回结果。

具体地,当输入命令后,bash先看这个命令是不是内部命令,若不是,则在path里面找这个命令(应用程序)的位置,然后过去执行,找不到则显示command not found.

22。help

它会打印出所有的内部命令,不过man更强大

23. du命令用于显示目录或文件的大小。

方便阅读的格式显示test目录所占空间情况# du -h test

608K    test/test6 308K test/test4 4.0K test/scf/lib 4.0K test/scf/service/deploy/product 4.0K test/scf/service/deploy/info 12K test/scf/service/deploy 16K test/scf/service 4.0K test/scf/doc 4.0K test/scf/bin 32K test/scf 8.0K test/test3 1.3M test

-s或--summarize 仅显示总计

24.mv

mv ./a Videos :将当前目录的a剪切到Videos目录下,还有重命名功能

25.ln

ln a b: 使用硬链接,对a连接出来一个b来

ln -s a b:使用软链接

26.stat

stat a :显示a的元数据

a文件的权限属于a的元数据

change记录改变元数据的时间。若改变profile文件的权限,则stat后可以发现change变了,若改变profile文件里面的内容时,则modify,change都变了,因为大小发生了变化导致元数据发生了变化,使得change变了。 

 28.grep

grep "asd" a: 返回a文件中,含有asd的行

grep -v "asd" a:显示不含asd的行

-e:使用扩展正则表达式

 grep "^asd" grep.txt :查找以asd开头的行

grep "^asd\>" grep.txt:查找以asd开头的行,且asd是一个单词的结束

grep "a[0-9]b" grep.txt:含 a数字b 的行

grep "a[0-9]\+b" grep.txt:含 a多个数字b 的行,由于+是红色,不是基本的,需要再加\

grep "a[0-9]\{4\}b" grep.txt:含 a4个数字b 的行,由于{}是红色,不是基本的,需要再加\

grep "a.*b" grep.txt: 该单词首位是a,b,中间任意字符,所在行

grep "\(a\)\1" grep.txt: ()表示一个组,\1表示第一个组

29.cut

 cut -d" " -f1 grep.txt : 自定义分隔符“ ”,以它作为分割符,显示grep.txt第一列的数据

 cut -d" " -s -f1 grep.txt : ....,仅仅显示被切割的行

 cut -d" " -s -f1-3 grep.txt :.....,显示第一至第三列,以“ ”作为分割

30.sort

sort a : 默认对第一个字符按字典序排列行

sort -t" " -k2 -n a:以“ ”为分割,对第二列,以数值序进行排序

31.wc :统计用的命令,可以用man wc看看帮助

wc -l a:打印a的文件的行数

32.sed可以不用vi进入文件,而是直接操作

sed "1a\hello" a : 在a文件的第一行的后面加一行,内容为hello,打印到屏幕,但是不改变原文件

sed -i "1a\hello" a : 要改动原文件

sed "2d" a :把第二行删了再显示,但不改变文件

sed "/aa/d" a :查找asd所在行,然后删了

sed "s/fuck/good/" a 或者sed "s@fuck@good@" a 或者 sed "s#fuck#good#" a :把fuck换位good

init文件当中的:id:3:.....中的3是启动后进入命令行模式,5是图形用户界面,但是该程序在Linux中属于用户模式,安装了才能用

sed "s/\(id:\)[0-6]/\15/" a:把id:数字替换为id:5

33.awk

awk -F':' '{print $1 }' passwd :读入passwd文件的每一行,以:作为分隔符,如果不写-F":"就默认以空格和制表符为分隔符,对于每一行执行{}里面的语句,而大括号里面的是给awk看的而不是bash,所以要用单引号,对每一行打印第一列

echo "$a" : 由于bash解析,则打印a值

echo '$a':打印$a

awk -F':' 'BEGIN{print "name\tshell"} {print $1 "\t" $7} end{print "hello"}' passwd: 先执行begin方法,打印name  shell,然后读取每一行并执行匿名方法,打印第一列和第七列,最后执行end方法。

awk -F':' '/root/{print $0}' passwd : 打印passwd文件里面,含有root关键字的行($0代表整行,$1代表第一列)

多个匿名方法:

awk -F' ' '/root/{print "asd"$0} {print $0}' a : 将a文件的每行拿出来分别经过所有的匿名方法。

awk -F' ' '{print NR"\t"NF"\t"$0}' a :NR是一个内部变量——行号,NF是列数

 例子:

Tom 0 12-12-11 car 3000
John 1 13-01-13 bike 1000
vivi 1 13-01-18 car 2800
Tom 0 13-01-29 car 2500
John 1 13-01-28 bike 3500

awk '{split($3,date,"-");if(date[2]=="01"){name[$1]+=$5;}}END{for(i in name){print i"\t"name[i]}}'  a: split:对字符串$3以‘-’作为分割,分割后的元素被存到date数组里面。这里面的数组下标从1开始。新建name变量,以$1作为name的key,让它+上该行第5列的数据。意思是:统计出01月份里,员工们的工资分别是多少,结果放到name的value里面。最后再END{}当中,i遍历key,打印出name[i],即打印出所有员工的工资。

awk '{split($3,date,"-");if(date[2]=="01"){name[$1]+=$5;};if($2=="0"){role[$1]="M"}else{role[$1]='W'}}END{for(i in name){print i"\t"name[i]}}'  a:加入‘男‘,‘女’的显示

34.source或.或bash或者#!

vi新建一个a.txt,里面写:echo "asd"

source a.txt就能执行了,或者. a.txt

bash a.txt : 先开启一个bash进程,此时当前进程id更换(可以用echo $$查看),随后读入a.txt

还有一种方法,在a.txt里面的开头一行写上:#!/bin/bash

随后chmod +x a.txt将普通文件变成程序

最后直接./a.txt就能执行了,此时也是又开辟一个新bash进程,然后让它读取文件去执行。

35.函数

函数的本质就是命令,外部命令包括执行程序,脚本,函数

直接定义:fun(){

echo "asd"

echo $$ 

}

此时定义好了

最后在命令行里面直接执行,输入:fun即可,可以再用type fun看看

 36.bash7步扩展

37.netstat 查看建立了什么连接

netstat -nap : n:以ip地址显示,不进行ip地址与逻辑名称的转换,a:所有,p:进程

38.router -n

查看路由表

39.arp -a:

打印arp表

 

转载于:https://www.cnblogs.com/pjishu/p/10848644.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值