概要

视或电影中看到过类似的场景,黑客面对一个黑色的屏幕,上面飘着密密麻麻的字符,梆梆一顿敲,就完毕了窃取资料的任务。

Linux 刚出世时没有什么图形界面。全部的操作全靠命令完毕。就如同电视里的黑客那样,充满了神奇与晦涩。

近几年来。虽然 Linux 发展得很迅速,图形界面越来越友好,可是在真正的开发过程中,Linux 命令行的应用还是占有很重要的席位。

能够说不会命令行,就不算会 Linux。

Linux 提供了大量的命令。利用它能够有效地完毕大量的工作。如磁盘操作、文件存取、文件夹操作、进程管理、文件权限设定等。

Linux 发行版本号最少的命令也有 200 多个。这里仅仅介绍比較重要和使用频率最多的命令。

命令用法

Linux 命令格式:

command  [-options]  [parameter1]  … 

说明:

command:命令名。对应功能的英文单词或单词的缩写

[-options]:选项。可用来对命令进行控制,也能够省略

parameter1 …:传给命令的參数,能够是零个一个或多个

例:ls  -a  /home

怎样查看帮助文档:

1)--help

通常是 Linux 命令自带的帮助信息。并非全部命令都自带这个选项。

如我们想查看命令 ls 的使用方法:ls --help

2)man (有问题找男人)

man 是 Linux 提供的一个手冊,包括了绝大部分的命令、函数使用说明。

该手冊分成非常多章节(section),使用 man 时能够指定不同的章节来浏览不同的内容。

man 中各个 section 意义例如以下:

1、Standard commands(标准命令)

2、System calls(系统调用,如open,write)

3、Library functions(库函数,如printf,fopen)

4、Special devices(设备文件的说明。/dev下各种设备)

5、File formats(文件格式。如passwd)

6、Games and toys(游戏和娱乐)

7、Miscellaneous(杂项、惯例与协定等。比如Linux档案系统、网络协定、ASCII 码;environ全局变量)

8、Administrative Commands(管理员命令,如ifconfig)

如,我们想查看 ls 的使用方法:man 1 ls ( 1:为数字“1”。代表第 1 个 section,标准命令 )

实际上,我们不用指定第几个章节也用查看。如,man ls。可是。有这个一种情况。假如。命令的名字和函数的名字刚好重名(如:printf),它既是命令。也能够是库函数,假设。我们不指定章节号。man printf。它仅仅查看命令的使用方法。不会查询函数的使用方法,由于 man
是依照手冊的章节号的顺序进行搜索的。

所以,使用 man 手冊时,最好指定章节号:

使用技巧

自己主动补全:

在敲出命令的前几个字母的同一时候,按下 tab 键,系统会自己主动帮我们补全命令。

历史命令:

当系统运行过一些命令后,可按上下键翻看曾经的命令,history 将运行过的命令列举出来。

重定向( > ):

本应显示在终端上的内容保存到指定文件里。

如:ls > test.txt ( test.txt 假设不存在,则创建,存在则覆盖其内容 )

管道( l ):

当我们搜索含某个keyword的文件或目录时,常常须要用到管道。结合 grep ( 搜索命令 ) 一起使用。

管道我们能够理解现实生活中的管子,管子的一头塞东西进去,还有一头取出来。这里“ | ”的左右分为两端,左端塞东西,右端取东西。

如:ls | grep g。ls 本来显示到屏幕的内容塞进管道的左端,然后从右端取出这些内容。在内容中搜索有 “g” keyword的文本。

经常使用命令

文件、磁盘管理:

ls:显示文件夹内容

-l:列表显示

-a:显示全部文件(隐藏文件以“ . ”开头)

-h:配合 -l 以人性化的方式显示文件大小


clear:清除终端上的显示,也可使用快捷键:Ctrl + l ( “l” 为字母 )


cd:切换文件夹
cd  /mnt 可进入 mnt(指定)文件夹

cd  .. 可进入上一层文件夹

cd  - 可进入上一个进入的文件夹

cd  ~ 可进入用户的家文件夹 ( ~:代指家文件夹,家文件夹指 /home 里的用户文件夹,不是纯粹的 /home 文件夹 )

pwd:显示当前工作文件夹的绝对路径



注意:假设路径是从根路径開始的,则路径的前面须要加上 “ / ”。如 “ /mnt ”。通常进入某个文件夹里的文件夹,前面不用加  “ / ”。


mkdir:创建文件夹

-p 递归地在指定路径建立目录

cat:显示文本文件内容

rm:删除文件或文件夹

-r:删除目录时必须加此參数

-f:强制地删除文件

cp:拷贝文件

-r:拷贝目录

-i:有反复文件时,提醒是否覆盖

-v:显示拷贝进度

cp vim_configure/ code/ -ivr 把文件夹 vim_configure 复制到 code 文件夹里

mv:移动文件或更改文件名称

–v:显示移动进度

mv file1 file2   file1 改名为 file2

mv vim_configure/ code/  vim_configure/ 移动到 code 文件夹里

which:查看命令所在的文件夹

tar:压缩与解压缩命令

gzip 格式(压缩包后缀为.tar.gz):

压缩使用方法:tar cvzf 压缩包包名 文件1 文件2 ...

c:create,创建

v:显示压缩进度

z:指定压缩包的格式为 gzip 格式,file.tar.gz

这三个參数的顺序随意就可以。參数的前面可加“ - ”。如:-zcf

f:file,文件,f 的后面必须是压缩包文件。所以,这四个选项一起使用时。f 一定是放在最后。如:zxvf

样例:tar zcvf test.tar.gz 1.c 2.c 3.c 4.c把 1.c 2.c 3.c 4.c 压缩成 zcvf test.tar.gz

上面操作,还能够这么写:tar zcvf other.tar.gz *.c(*.c 代表全部的 .c)

解缩使用方法: tar zxvf 压缩包包名

x:代表解压操作

z:指定解压压缩包的格式为 gzip 格式。file.tar.gz

使用方法和创建压缩包使用方法一样。选项顺序也一样。

样例: tar zxvf new.tar.gz 把 new.tar.gz 解压出来

实际上,“ z ” 參数能够省略,这种话,无论是什么样格式的压缩包都解压:

解压到指定文件夹:-C (大写字母“ C ”)

样例:tar -xvf new.tar.gz -C ./test/ 将 new.tar.gz 解压到当前文件夹下的 test 文件夹下

bz2 格式(压缩包后缀为 .tar.bz2):

和 gzip 格式操作时一样的,差别:bz2 格式用參数“ j ”指定

压缩使用方法: tar jcvf 压缩包包名 文件1 文件2 ...

样例:tar  jcvf  bk.tar.bz2  *.c



解缩使用方法: tar jxvf 压缩包包名

样例: tar  jxvf  bk.tar.bz2



解压到指定文件夹:-C

样例:tar  jxvf  bk.tar.bz2  -C  ./

用户、权限管理:

假设不了解文件权限。请点击《Linux 文件权限简单说明》。

chmod:改变文件权限

chmod 有两种使用格式(字母法与数字法)

字母法:

chmod u/g/o/a  +/-/=  rwx  文件

[ u/g/o/a ] 说明

u : user 表示该文件的全部者 

g : group 表示与该文件的全部者属于同一组( group )者,即用户组 

o : other 表示其它以外的人 

a : all 表示这三者皆是

[ +-= ] 说明 

+ : 添加权限 

- :  撤销权限 

= : 设定权限



[ rwx ] 说明 

r : read 表示可读取 

w : write 表示可写入 

x : excute 表示可运行

详细样例:

chmod o+w file 给文件 file 的其他用户添加写权限

chmod u-r file   给文件 file 的拥有者减去读的权限

chmod g=x file 设置文件 file 的同组用户的权限为可运行。同一时候去除读、写权限

数字法:

“rwx” 这些权限也能够用数字来取代

r:读取权限,数字代号为 "4"

w:写入权限。数字代号为 "2"

x:运行或切换权限。数字代号为 "1"

-:不具不论什么权限。数字代号为 "0"

如运行:chmod u=rwx,g=rx,o=r filename 

就等同于:chmod u=7,g=5,o=4 filename

详细样例:

chmod 751 file

文件全部者:读、写、运行权限

同组用户:读、运行的权限

其他用户:运行的权限

chmod 777 file

全部用户拥有读、写、运行权限

注意:假设想递归全部文件夹加上同样权限。须要加上參数“ -R ”。

如:chmod 777 test -R

递归 test 文件夹下全部文件加 777 权限。

系统管理

ps:查看系统进程

ps -a 查看当前用户的全部进程

ps -e 查看系统中全部的进程

kill:杀死指定进程号的进程,配合 ps 使用

kill  9133   9133 为应用程序所相应的进程号

有些进程不能直接杀死,这时候我们须要加一个參数“ -9 ”,“ -9 ” 代表强制结束。

ifconfig:查看或配置网卡信息

假设。我们仅仅是敲:ifconfig。它会显示全部网卡的信息:

查看指定网卡的信息:ifconfig eth0  ( “ 0 ” 为数字 )

设置 ip :sudo ifconfig eth0 192.168.31.165

sudo 是同意系统管理员让普通用户运行一些或者所有的root命令的一个工具,降低了root 用户的登陆和管理时间,提高了安全性。

ping:測试网络连通性

ping 10.221.0.24  不会自己主动停止。按 “ Ctrl + c ” 就可以停止

ping 10.221.0.24 -c 4 “-c”代表发送包的次数,这里为 4 次

who:查看当前系统登录用户的信息

第一列显示登陆username

第二列显示终端名

第三列显示登陆时间

exit:

假设是图形界面,退出当前终端

假设是使用ssh远程登录。退出登陆账户

shutdown:关机

shutdown -h now 立马关机,当中now相当于时间为0的状态

shutdown -h 20:25 系统在今天的20:25 分会关机

shutdown -h +10 系统再过十分钟后自己主动关机

reboot:重新启动电脑



版权声明:该博客文章。我写的大多是整理。或收集在一个网络。转载请注明出处!

Linux开发环境的搭建和使用——Linux 常用的命令使用的更多相关文章

  1. Linux开发环境的搭建和使用——Linux本必备软件SSH

    SSH 至 Secure Shell 缩写.由 IETF 网络工作组(Network Working Group)开发:SSH 以建立应用层和传输层安全协议中的基础上. SSH 是眼下较可靠,专为远程 ...

  2. 嵌入式Linux开发环境的搭建

    一个.制造u-boot.bin文件:    tar xjf u-boot-1.1.6.tar.bz2    cd u-boot-1.1.6    patch -p1 < ../u-boot-1. ...

  3. 用Windows+VirtualBox搭建嵌入式Linux开发环境

    Windows+VirtualBox的嵌入式Linux开发环境的搭建 最近一直在学习Linux的设备驱动编写,一直是在物理机上安装的Ubuntu进行的,但是在Ubuntu12.04的系统中,已经不能用 ...

  4. Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2]

    Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux开发环境[2.2] 2015-07   北京海淀区  ...

  5. 使用window10系统搭建完善的Linux开发环境

    https://juejin.im/post/5d22e46ee51d45775746b9b1 导读 在使用window系统开发时由于系统环境和线上环境不一致可能导致各种问题,以及部分扩展库只支持li ...

  6. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  7. Linux环境下Android开发环境的搭建

    本文主要介绍在Ubuntu下Android开发环境的搭建,所使用的IDE为Eclipse(Android Studio同理,且可省去配置SDK以及安装adt插件的步骤). 1.安装JDK (1)JDK ...

  8. Virtualbox+UbuntuServer+Xshell搭建Linux开发环境

    需求背景 嵌入式开发环境以编译服务器(Linux系统)为核心, 开发人员较多使用Windows系统, 通过若干工具, 可以实现开发人员使用Windows的开发工具,编写代码,然后在Linux系统上编译 ...

  9. 嵌入式Linux开发——内容介绍与开发环境的搭建

    嵌入式Linux开发步骤 设计自己的硬件系统 编写Bootloader 裁剪自己的Linux内核 开发移植设备驱动 构建根文件系统 开发应用程序 嵌入式Linux学习要点 熟练使用开发工具和相关指令集 ...

随机推荐

  1. Qt Chart 5.7.0 傻瓜安装教程

    前提 qtchart 里的README文件(注意红色标记处)(本人翻译不行.多多见谅,也可以在评论里纠正( ⊙ o ⊙ )) --------------- Qt Charts 5.7.0 ----- ...

  2. 解决TCP网络传输“粘包”问题

    当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport contro ...

  3. 二路单调自增子序列模型【acdream 1216】

    题目:acdream 1216 Beautiful People 题意:每一个人有两个值,能力值和潜力值,然后要求一个人的这两个值都严格大于第二个人的时候,这两个人才干呆在一块儿,给出很多人的值,求最 ...

  4. Java设计模式菜鸟系列(九)外观模式建模与实现

    转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39805735 外观模式(Facade):是为了解决类与类之间的依赖关系的,像spring一 ...

  5. Android之Camera控制拍照

    package com.android.xiong.cameratest; import java.io.File; import java.io.FileOutputStream; import j ...

  6. 二叉树的前序和中序得到后序 hdu1710

    今天看学长发过来的资料上面提到了中科院机试会有一个二叉树的前序中序得到后序的题目.中科院的代码编写时间为一个小时,于是在七点整的时候我开始拍这个题目.这种类型完全没做过,只有纸质实现过,主体代码半个小 ...

  7. 自己python程序的并行修改

    遇到运算量大的程序,学习了下python并行运算的方法,在自己的程序上进行了修改,看看是否可以增加效率.原始代码是: import gt_apps as my_apps f=file('sample. ...

  8. codeforces 316F3 Suns and Rays

    题目在此 找出中有多少个太阳以及每个太阳的散发线段. 算法 原图: 将图"缩小",如果一个白点的四周有黑点,那么把这个白点变成黑点: 将图"放大",即上述&qu ...

  9. Denny Zhang:一辈子做一个自由职业者

    程序猿訪谈录供稿 Denny是一个旅居美国的自由职业者,这是一份让人羡慕的职业,选择这个职业意味着他已经实现某种程度上的经济自由,能够最大限度的做自己喜欢的事情,对他来说,选择自由职业作为自己终生的事 ...

  10. 集合简单总结 ArrayList、List、Hashtable、Dictionary

      ============================ 集合综述 ============================== 1.什么是泛型: 泛型就是限制了操作类型,意思如下:       ...