Linux常用命令及使用

Linux常用命令及使用方法

一、'.'、'. '、'./'的作用和区别

点、点+斜杠、点+空格作为linux命令前缀的作用和区别

1.<.>name

其中的‘点’表示隐藏文件,因此这样使用相当于执行linux中名为name的隐藏文件。如果只是一个点,后面没有name的话,则表示当前目录。

2.<./>name

‘点+斜杠’表示当前路径。我们在执行当前路径下的可执行文件时通常这样使用。

3.<. >name

‘点+空格’中的‘点’其实是linux的一个命令操作符,其作用相当于source。因此执行该命令后,所有在脚本中设置的变量将成为当前Shell的一部分。

<span style="font-size:14px;"><span style="font-size:14px;">. (source or dot operator)

Read and execute commands from the filename argument in the current shell context.
SYNTAX
      . filename [arguments]
      source filename [arguments]

A period `.' is a synonym for `source'</span></span>

二、&和&&

1.& 

在执行的命令或者程序后,加‘&’符号,表示后台执行linux程序。
如,./myTest &

2.&&

表示只有前面的命令正确执行结束,后面的命令才执行。
这在编写脚本时会很有用,比如在用脚本自动编译linux内核时,可以用&&命令将各个编译命令连起来执行。这样就能保证有命令执行出错时,就不再执行它后面的命令。

三、常用命令

1.uname

打印系统信息,可显示linux操作系统的位数,如用 uname -a 命令,若显示x86_64,则系统为64位的。

查看系统内核版本号:uname  -r

2.getconf LONG_BIT

用这个命令可以直接获取机器的位数。
<windows系统中用systeminfo命令可以查看机器位数以及系统的初始安装时间>

3.su

获取超级用户权限:su

退出超级用户权限:su <普通用户名>

4.xxd

功能:显示文件的二进制,16进制数据,从指定的文件或者标准输入以二进制方式获取内容,并转化为16进制的形式保存在指定的文件中。
用法: xxd [options] [infile [outfile]]

按16进制显示文件的内容:
xxd file 
按二进制显示文件的内容:
xxd -b file
另一种比较有用的用法如下:
xxd -i infile  > xxx.h
上述命令可以将infile文件的内容转化为C语言数组保存到头文件中,在编程时非常有用。

5.tar

(1).压缩文件或者文件夹

tar -cf xxx.tar  foo  bar           # 从文件 foo 和 bar 创建归档文件xxx.tar

tar -czf xxx.tar.gz  foo  bar     # 从文件 foo 和 bar 创建归档文件xxx.tar.gz,c参数表示使用gzip压缩,生成的压缩包后缀为.tar.gz

(2).解压缩

tar -xf xxx.tar                 #将归档文件xxx.tar解压到当前文件夹

tar -xzf   xxx.tar.gz        #将归档文件xxx.tar.gz解压到当前文件夹,后缀不一样,包的格式也不同

tar -xjf xxx.tar.bz2

(3).包的分割压缩与解压

以每个包大小为10M对指定文件进行分割压缩:

tar czf - file.mp4 | split -b 10M - test.tar.gz.         #命令中的‘-’不能忽略,并且前后要有空格

压缩后生成test.tar.gz.aa、test.tar.gz.ab、test.tar.gz.ac...等包。

将分割压缩的包进行解压:

cat  test.tar.gz.*  |  tar  -xz

6.rpm

查询是否安装了某个安装包:     
rpm  -q   xxx     
安装指定的安装包:                      
rpm  -ivh   xxx.rpm   
显示系统中已经安装的rpm包:
rpm  -pa

7.top

查看CPU的使用情况。

8.free

查看内存的使用情况:free <-m> 以M为单位进行查看。
也可以用cat /proc/meminfo进行查看。

9.objdump

反汇编指令,如对hello.o进行反汇编:objdump -S hello.o 。

10.printenv

打印环境变量的命令,在U-boot和Linux系统中均可以使用。

11.service

停止防火墙:service iptables stop 
开启防火墙:service iptables start

12.cat

查看Linux的发行版本信息:cat   /etc/issue
查看Linux的详细版本信息:cat   /proc/version(与uname -a作用相似)
查看设备信息:cat  /proc/devices
查看中断信息:cat  /proc/interrupts
查看支持的文件系统:cat  /filesystems

13.gcc

(1)将源文件编译为可执行文件:
gcc  myTest.c  -o myTest
(2)编译生成库文件的方法,例如源文件是libTest.c,则步骤如下:
A.生成.o文件:gcc  -c  libTest.c
B生成库文件:.ar  -rc  libTest.a  libTest.o
后缀为.so表示动态库,后缀为.a表示静态库。

14.diff

比较两个包含二进制文件的文件夹,并生成补丁:
diff  -ruNa context1/ context0 > p.patch
比较两个文件并生成补丁:
diff  -uN context1/ context0 > p.patch

15.patch

patch -version < dir of patch
给源码打补丁,当需要打补丁的代码的目录名与补丁中的目录名一致时,可以将补丁拷贝到代码的同级目录下,
然后执行:
patch -p0 < ./../httpclient.patch 
其中,-p0表示按补丁中的完整路径给代码打补丁,-p1则表示忽略第一层目录,即路径中第一个‘/’之前的路径。
当代码目录名与补丁中的不一致的时候,可以将补丁拷贝到代码目录底下,然后执行:
patch -p1 < ./../httpclient.patch 

16.du

以M为单位,查看某文件夹的大小:du  -sh folder
以M为单位,查看所有文件夹的大小:du  -sh  *
其中,参数h的意思是,Human readable,参数s表示仅显示总共(summarize),此处表示仅显示总大小。

17.ls

以M为单位,查看文件的大小: ls -lh
其中,参数h的意思是,Human readable。

18.tail

从指定位置开始,输出文件或者标准输入的最后一部分内容。
比如,tail -n1 表示输出最后一行。

19.awk

awk是一个强大的文本分析工具,也是一种编程语言,awk是其作者名字的首字母。
比如,count = du -sk ./ | awk '{print $1}'
单独执行du -sk ./ ,会显示1743232 ./,前半部分为当前目录的大小,后半部分表示当前路径。
整体执行上述语句后,则输出1743232 。
awk '{print $1}'表示调用awk,并且显示第一个参数。因此将前面输入的1743232 ./中的前半部分输出出来,因此count的值为1743232 。

20.wc

wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
比如,执行wc file可以显示文件的行数,字数和字节数。
可以用以下命令获取指定目录下所有文件的个数:
find  dir |  wc -l
可见,通过管道命令将不同命令连接起来组成的命令功能很强大。

21.grep

grep全称是Global Regular Expression Print,表示全局正则表达式版本,是一种强大的文本搜索工具,它能使用正则表达式搜索文本。该命令既可以在某个指定文件中搜索指定的字符串,也可以搜索指定路径下,包含某个字符串的所有文件。
如执行如下命令,可以搜索该目录下所有文件中的FIND_ME关键字。
grep FIND_ME  /device/* -rn
在指令类型(.mk)的文件中搜索关键字FIND_ME的指令如下所示:
grep FIND_ME  /device/* --include=*.mk  -r

22.killall

用于杀死指定进程名的进程,相比于kill来说更好用。

23.lsb_release

lsb_release -a  查看桌面系统的版本

24.递归删除子目录中的指定文件

find . -name "*.o"  | xargs rm -f

25.cp

cp命令是很基础的命令,但是如何拷贝当前文件夹下包含隐藏文件在内的所有文件呢?

cp  /home/yuhaiping/.  ./ -fr

cp命令中的点表示当前目录。

26.sed

删除test.yhp文件中,包含yhp的行:

sed -i '/yhp/'d test.yhp

27.tree

树状显示当前文件夹下的文件,目录深度为2:

tree -L 2

28.ping

注意ping时,最大数据包长度为1464,超过1464时,会time out。

四、设置环境变量

1.PATH

在进行开发的过程中,常需要安装交叉编译器等工具,这时候经常要修改系统的环境变量PATH。可以参考如下方式进行修改:

如将路径/home/yuhaiping/ba-elf/bin添加到环境变量PATH中:

vi ~/.bashrc

在文件的末尾添加一行:

export PATH=$PATH:/home/yuhaiping/ba-elf/bin

保存并退出后,执行

source ~/.bashrc

这样就完成了将路径/home/yuhaiping/ba-elf/bin添加到环境变量PATH中的操作。





















评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值