学习Linux时常用命令汇总

通过Ctrl+f键可在该网页搜索到你想要的命令。

Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数

常用命令

man命令
  • man命令(重要的三条):

    1. 是普通的Linux命令

    2. 是系统调用,操作系统的提供的服务接口

    3. 是库函数, C语言中的函数

      • man -k:等价于apropos。使用man -k找到命令后,可以用man -f cmd查看命令的基本功能。
      • man -k sort | grep 3:可以更好的找到qsort。更加精确。

其实我之前不太清楚man命令的功能是什么,多man了几个命令后才明白:当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。

cheat命令
  • cheat命令:在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。告诉你一个命令如何使用。通过使用实例告诉你一个命令如何使用。

    用法:cheat+命令名。
其他常用命令
  • ls:显示是当前目录的内容。
  • ls -a .:显示当前目录中的所有内容,包括隐藏文件和目录。
find命令
  • find命令:查找一个文件在系统中的什么位置。

    find的使用格式如下:

    $ find <指定目录> <指定条件> <指定动作>

      - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。

      - <指定条件>: 所要搜索的文件的特征。

      - <指定动作>: 对搜索结果进行特定的处理。

    举例:

    $ find . -type f -mmin -10

      搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录
locate命令
  • locate:神速版本的find

    locate命令是"find -name"的另一种写法,但更快,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。在使用locate之前,先使用updatedb命令,手动更新数据库。

    locate命令的使用实例:

      $ locate /etc/sh

      搜索etc目录下所有以sh开头的文件。

      $ locate ~/m

      搜索用户主目录下,所有以m开头的文件。

      $ locate -i ~/m

      搜索用户主目录下,所有以m开头的文件,并且忽略大小写。
whereis和which命令
  • whereis which:告诉你使用的命令工具装在什么地方。which+命令或文档文件where+命令或文档文件更加精确。
区别:
  1. which (寻找执行档) :这个指令是根据PATH这个环境变量所规范的路径,去搜寻执行档的档名,所以,重点是找出执行档而已,which 后面接的是完整档名
  2. whereis (寻找特定档案):搜寻linux数据库档案中所记录的东西,和locate的主要区别在于后面的参数
  3. locate:搜寻linux数据库档案中所记录的东西,后面直接跟档案的部分名称就行
  4. find:直接搜索整个硬盘区别
grep命令
  • grep命令:对文件全文检索,比如你接手一个C语言项目,里面有上百个C源文件,想找找main函数在那个文件中,你可以通过grep -n main *.c,快速找到main在哪个C文件中并指出在第几行。

这条语句可以用来查找关键字,全文搜索,并且可以直接查找文件内的内容。其中:

n:为显示行号

r:为递归查找

例如,如果想查找某个宏,我们已知宏保存在include文件夹中,所以可以使用下列语句:

grep -nr XXX /usr/include(XXX为所要找的宏)

cat命令

命令说明: 查看文件内容,也可以给文件追加内容到结尾

语法:cat [-AbEnTv]

参数:

-A :相当于-vET的整合参数,可以列出一些特殊字符,而不是空白而已 -b :列出行号,仅对非空行号显示,空白行不标记行号

-E :将结尾的断行字符$显示出来

-n :打印出行号,连同空白行也有行号,与-b参数不同

-T :将[tab]按键以^I 显示出来

-v :列出一些看不出的特殊字符

touch

命令功能:

touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。

命令格式:

touch [选项]... 文件...

命令参数:

-a 或--time=atime或--time=access或--time=use  只更改存取时间。

-c 或--no-create  不建立任何文档。

-d  使用指定的日期时间,而非现在的时间。

-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或--time=mtime或--time=modify  只更改变动时间。

-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t  使用指定的日期时间,而非现在的时间。

常用命令行

apt-cache search
  • apt-cache search:在使用apt-get install安装一个程序时先找找软件源的库里有没有这个程序,有才可以安装。apt-cache search ddd:查查有没有ddd这个程序。

    常用使用方法:

    1、apt-cache show package_name: 显示指定软件包的信息,包括版本号,安装状态和包依赖关系等.

    1. 2apt-cache search package_name:搜索软件包,可以按关键字查找软件包,通常用于查询的关键字会使用软件包的名字或软件包的一部分.

    3、apt-cache showpkg package_name:显示软件包的依赖关系信息.

    4、apt-cache stats:显示当前系统所使用的数据源的统计信息,用户可以使用该命令查看数据源的相关统计信息.

    5、apt-cache policy package_name:显示软件包的安装状态和版本信息.

    6、apt-cache depends package_name:显示指定软件包所依赖的软件包。当用户需要了解某个软件包依赖于其他哪些包时,可以使用apt-cache depends来查询包依赖关系.

    7、apt-cache rdepends package_name:查询指定软件包的反向依赖关系,即那些其他的软件包需要依赖你所指定的软件包做为安装和运行的必须条件.

    8、apt-cache dump:显示缓存中的每个软件包的简要描述信息.

    9、apt-cache unmet:显示不符合一致性的依赖关系.

关于代码的编写、编译到运行的命令行

  • mkdir+xxx(文件名):在当前目录下新建一个文件夹。

  • vim+xxx.c:建立一个文本文档,可在该文本文档下编写代码。

  • 预处理:gcc –E hello.c –o hello.i:gcc –E调用cpp 产生预处理过的C原始程序 (以hello.c为例)

  • 编 译:gcc –S hello.i –o hello.s:gcc –S调用ccl 产生汇编语言原始程序

  • 汇 编:gcc –c hello.s –o hello.o:gcc -c 调用as 产生目标文件

  • 链 接:gcc hello.o –o hello:gcc -o 调用ld 产生可执行文件

  • 运行:./hello

注意:

gcc的一般格式为:

gcc [选项] 要编译的文件 [选项] [目标文件],

其中,目标文件可默认,gcc默认生成可执行的文件,名为编译文件.out.

20145222《信息安全系统设计基础》Linux常用命令汇总的更多相关文章

  1. 【Linux】Linux 常用命令汇总

    查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...

  2. 2017-2018-1 20155201 《信息安全系统设计基础》 pwd命令的实现

    2017-2018-1 20155201 <信息安全系统设计基础> pwd命令的实现 一.对pwd命令的学习 在终端中输入man pwd查看手册中对pwd这一命令的解释: 以绝对路径的方式 ...

  3. 2018-2019-1 20165226《信息安全系统设计基础》 pwd命令的实现

    2018-2019-1 20165226<信息安全系统设计基础> pwd命令的实现 一.学习pwd 查看pwd 得知一个嫩过去文件路径的函数--getcwd i节点值 通过ls -i -a ...

  4. 【Linux基础】Linux常用命令汇总

    3-1文件目录操作命令(cd pwd mkdir rmdir rm) 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc: 相对路径:相对于目前路径的 ...

  5. Linux常用命令汇总及使用方法(二)之文本编辑器VI

    VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式 在[root@test ~]# vi carrie.tx ...

  6. Linux常用命令汇总 - Linux Shell Cheat Sheet

    1. 查看Linux操作系统信息: uname -a cat /proc/version lsb_release -a 2. 设置ls显示的文件夹的颜色(将下面这条目录加在 .bashrc 文件最后) ...

  7. 20165223 《信息安全系统设计基础》 stat命令的实现-mysate

    学习使用stat(1),并用C语言实现                1. 提交学习 stat(1) 的截图                2. man -k ,grep -r的使用          ...

  8. 【linux】linux常用命令汇总

    linux主要的目录树的有/. /root. /home. /usr. /bin 等目录 / 根目录 /bin 存放必要的命令 /boot 存放内核以及启动所需的文件 /dev 存放设备文件 /etc ...

  9. Linux常用命令汇总及使用方法(三)

    (1)文件管理命令 ls.ls -l.ll.ls -a ls -a 显示所有文件,包括隐藏文件 ls 列举指定目录下的子目录和文件 ls -l与ll相同 列举指定目录下的子目录和文件的详细信息 tot ...

随机推荐

  1. 在 Windows Phone 中,为 Grid 添加 Tilt 效果

    在 Windows Phone 中,Tilt 效果是比较经典的效果,我们可以很简单的为按钮等控件添加这样的效果(使用 Windows Phone Toolkit 的Tilt 效果),但是,如果我们想要 ...

  2. [Asp.net 5] Caching-缓存预告

    本节讲Asp.net 5的缓冲.解决方案可以通过网址:https://github.com/aspnet/Caching下载 也是Asp.net 5开源代码介绍的第6部分,前5部分链接如下: 1. D ...

  3. C#——this关键字(2,3)(含求助贴)

    这次来看一看this关键字的第二个用法:将对象作为参数传递到其他方法 ----------------------------------------------------------------- ...

  4. Angular2中对ASP.NET MVC跨域访问

    应用场景 项目开发决定使用angular2进行前后端分离开发,由我负责后端服务的开发,起初选择的是web api进行开发.对跨域访问通过API中间件+过滤器对跨域访问进行支持.开发一段后,通知需要移植 ...

  5. Ubuntu下的解压缩

    一. 命令: .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz ...

  6. [问答] Firemonkey 控件继承后无法显示(空白)

    提问:如下安装后的 TMyPanel 能在设计期时正常显示,但 TMyPanel2 在设计期时是白板,不能正常看到,为什么? TMyPanel = class(TPanel) end; TMyCust ...

  7. 如何实现一个php框架系列文章【4】url路由管理

    直接通过url参数访问业务模块($app)中控制器($ctl)里的函数($act) 我们支持3种路由模式 普通模式 _a=$app,     _u=$ctl.$act 最简单的方式,专注实现业务$ac ...

  8. spring+mybatis多数据源动态切换

    spring mvc+mybatis+多数据源切换 选取oracle,mysql作为例子切换数据源.oracle为默认数据源,在测试的action中,进行mysql和oracle的动态切换. web. ...

  9. 20个不可思议的 WebGL 示例和演示

    WebGL 是一项在网页浏览器呈现3D画面的技术,有别于过去需要安装浏览器插件,通过 WebGL 的技术,只需要编写网页代码即可实现3D图像的展示.WebGL 可以为 Canvas 提供硬件3D加速渲 ...

  10. Xcode自定义代码块

    到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...