读书笔记-命令行总结
2015-12-09 19:27
330 查看
A
arm-linux-gcc
将C语言源文件,汇编成可执行文件,此可执行文件可以在arm上运行。功能上和gcc是一样的。但是编译出来的可执行文件不同,一个是在arm上运行的,一个是在linux系统上运行的。参数相同
用法示例
[code]arm-linux-gcc -g -c -o crt0.o crt0.S//将汇编程序汇编成可执行文件 arm-linux-gcc -g -c -o key_led.o key_led.c//将C源文件直接预处理,编译,汇编成可执行文件
arm-linux-ld
arm-linux-ld用于将多个目标文件,库文件连接成可执行文件。注意:连接的目标文件的顺序,和可执行文件是否可执行有关。
例如:
arm-linux-ld -Ttext 0x0000000 -g crt0.o key_led.o -o key_led_elf
反汇编可执行文件,在反汇编文件中,crt0.o文件在前,key_led.o在后。
参数
目前,只用到一个参数:-T。其他的,我也不懂。
[code]-T:可以直接使用它来指定代码段,数据段,bss段的起始地址,也可以用来指定一个连接脚本(连接脚本,不怎么懂,就不介绍了) 直接使用指定代码段,数据段,bss段的起始地址。格式如下: -Ttext 0x00000000 -Tdata 0x00000000 -Tbss 0x00000000
用法示例
[code]arm-linux-ld -Ttext 0x0000000 -g crt0.o key_led.o -o key_led_elf //将代码段设置在最前面。根据crt0.o key_led.o生成一个key_led_elf文件。
arm-linux-objcopy
被用来复制目标文件的内容到另一个文件中。可以使用不同于源文件的格式来输出目的文件,即可以进行格式转化。参数
[code]-l:用来指明源文件的格式 -O:用来指定输出文件的格式 -S:不从源文件中复制重定位信息和符号信息到目标文件中去。
用法示例
[code]arm-linux-objcopy -O binary -S key_led_elf key_led.bin //指定目标文件格式(binary) 输出。
arm-linux-objdump
用法和objdump相似。相对于arm可执行文件或者目标文件进行反编译。参数
[code]其他参数相同,特殊参数-m介绍 -m:表示machine,确定相对应的机器设备,为反汇编提供条件。
用法示例
[code]arm-linux-objdump -D -m arm key_led_elf > key_led.dis //将key_led_elf可执行文件反汇编为key_led.dis文件
alias
alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号”将原来的命令引起来,防止特殊字符导致错误。语法
[code]alias 新的命令='原命令 -选项/参数' -p:打印已经设置的命令别名。
用法示例
[code]显示所有别名 alias -p alias cp='cp -i' alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' 设置别名 alias abCtagsEscope='find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.S" -o -name "*.ch" -o -name "*.cpp" > cscope.files;cscope -bkq -i cscope.files;ctags -R -f .tags'
来自: http://man.linuxde.net/alias
来自: http://man.linuxde.net/alias
B
C
D
E
expr
计算数学表达式exce
执行指令文件。用法示例
[code]打开sublime text应用程序 exec /opt/sublime_text/sublime_text "$@"
F
find
参数:[code]-name:按照文件名查找文件。 -perm:按照文件权限来查找文件。 -prune:使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。 -user:按照文件属主来查找文件。 -group:按照文件所属的组来查找文件。
用法示例
[code]find /etc -name '*httpd*' find /Users/abe/Desktop/ -user userName
G
gcc
参数:[code]-c: 预处理,编译和汇编源文件,但不做连接。编译器根据源文件生成obj文件。 -S:编译后即停止,不进行汇编。 -E:预处理后即停止,不进行编译。预处理之后的代码送往标准输出。GCC忽略任何不需要预处理的输入文件,最后生成 *.i文件。 -o:指定输出文件为file。无论是预处理,编译汇编还是连接,这个选项都是可以使用的。 -Wall:(wring all),在编译和链接过程中显示所有警告信息。 -O1,O2,O3:指的是优化编译文件。如果不写的话,默认是-O1,不进行优化。O1,优化最少,O2优化中等,O3优化最好。详情目前还不怎么了解。
用法示例
[code]gcc test.c -o test//一步到位的编译指令 ------------------------------------------ 上述编译过程是分为四个阶段进行的,即预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。 gcc -E test.c -o test.i 或 gcc -E test.c//预处理 gcc -S test.i -o test.s//编译为汇编代码 gcc -c test.s -o test.o//汇编,由汇编编译为目标文件 gcc test.o -o test//连接 ----------------------------------------- 多个程序文件的编译 gcc test1.c test2.c -o test 相当于 gcc -c test1.c -o test1.o gcc -c test2.c -o test2.o gcc test1.o test2.o -o test ------------------------------------------ 优化:-O2使用: gcc -Wall -O2 -c test1.c -o test1.o
grep
[root@www ~]# grep [-acinv] [–color=auto] ‘搜寻字符串’filename
注:可以和正则表达式结合使用。
参数:
[code]-a :将 binary 档案以 text 档案的方式搜寻数据 -c :计算在文件中找到 '搜寻字符串' 的次数 -i :忽略大小写 -n :顺便输出行号 -v :反向选择,即显示出没有 '搜寻字符串' 内容的那一行! -A[num]:显示出包含相应字符串的行,顺便显示后面num行的信息 -B[num]:显示出包含相应字符串的行,顺便显示前面num行的信息 --color==auto:符合条件的文件显示不同字符。
用法示例
[code]grep -na "aa" *.txt;//在挂在目录下,txt文件中,出现“aa”字符串的行,顺便显示行号。 grep -c "aa" a.txt ; //显示出在a.txt文件中,出现“aa”字符串的次数
H
I
ifconfig
ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。用法示例:
[code]sudo ifconfig eth1 192.168.1.102 //设置网卡ip sudo ifconfig eth1 down //关网卡 sudo ifconfig eth1 up //开网卡
J
K
L
M
N
nl
nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。格式
nl [选项]… [文件]…
参数
[code]-b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出行号(类似 cat -n); -b t :如果有空行,空的那一行不要列出行号(默认值); -n :列出行号表示的方法,主要有三种: -n ln :行号在萤幕的最左方显示; -n rn :行号在自己栏位的最右方显示,且不加 0 ; -n rz :行号在自己栏位的最右方显示,且加 0 ; -w :行号栏位的占用的位数。 -p 在逻辑定界符处不重新开始计算。
代码示范
[code]nl -b a log2012.log
nautilus
通过图形化界面打开目录。使用示范
[code]nautilus /home/
O
objdump
objdump命令是Linux下的反汇编目标文件或者可执行文件的命令参数
[code]以可执行文件test为例。 -d:反汇编test中的需要执行指令的那些section -D:与-d类似,但反汇编test中的所有section -f:显示test的文件头信息 -h:显示test的Section Header信息h -x:显示test的全部Header信息 -s:除了显示test的全部Header信息,还显示他们对应的十六进制文件代码
用法示例:
[code]objdump -d test//反汇编test中的需要执行指令的那些section objdump -h test//显示test的Section Header信息
P
Q
R
S
service
就是用于管理Linux操作系统中服务的命令。格式
[code]service 服务 参数
参数
[code]start -开始服务 restart -重新启动 stop -关闭 reload -重新载入配置。
用法示范
[code]service oracle start //开启oracle服务 service oracle stop //停止oracle服务 service oracle restart //重启oracle服务 service oracle status //oracle服务状态
sed
格式sed [-nefr] [动作]
参数
[code]-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过 sed 特殊处理的那一行(或者动作)才会被列出来。 -e :直接在指令列模式上进行 sed 的动作编辑; -f :直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作 -r :sed 癿动作支持的是延伸型正则表达法的语法。(预设是基础正则表示法语法) -i :直接修改读取的档案内容,而不是由屏幕输出。
动作说明: [n1[,n2]]function
[code]n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』 function 有底下这些咚咚: a :新增, a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行) c :取代, c 的后面可以接字符串,这些字符串可以取代 n1,n2 之间的行! d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i :插入, i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行); p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运作~ s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配 正则表示法!例如 1,20s/old/new/g 就是啦!
代码示范
[code]nl /etc/passwd | sed '2,5c No 2-5 number' //将第2-5行的内容取代成为『No 2-5 number』 nl /etc/passwd | sed '2,5d' // 把/etc/passwd 的内容列出并且打印行号,同时,请将第 2~5 行删除!
sort
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。参数
[code]-u: 在输出行中去除重复行 -r: sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了 -o: 将排序结果写入原文件 -n: 要以数值来排序 -f: 会将小写字母都转换为大写字母来进行比较,亦即忽略大小写 -c: 会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1 -C: 会检查文件是否已排好序,如果乱序,不输出内容,仅返回1 -M: 会以月份来排序,比如JAN小于FEB等等 -b: 会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
代码示范
[code]sort seq.txt
T
tar
解压缩命令参数
[code]-c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 /*这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。*/ -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
用法示范
[code]//压缩 tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg //解压 tar –xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar.bz2 tar –xZvf file.tar.Z //解压tar.Z
U
V
W
X
Y
Z
#
正则表达式:
相关文章推荐
- java数据结构系列——排列(2):有序阵列
- http://blog.csdn.net/xh16319/article/details/8271110
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
- C++多线程
- Theano学习笔记(三)——图结构
- 让 Oracle 11g 32位运作在64位 Windows 上
- 修改android包名
- BFS小结
- iOS-在团队开发过程中控制代码版本
- 黑马程序员—java基础复习—异常
- 让Android项目健壮的几个建议
- html5监听屏幕旋转
- 将drawable设置到imageview里
- 比赛
- oracle
- SqlServer发送邮件
- ionize 一个CI框架的开源 CMS系统
- 初次学习CentOS需要注意的问题
- VC++ 实现VC程序启动时最小化到任务栏(完美解决闪烁问题)
- 今天看到一篇文章,觉得甚有道理