Linux开发环境搭建与使用——Linux 常用命令的使用

概述

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

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 ):

当我们搜索含某个关键字的文件或文件夹时,经常需要用到管道,结合 grep ( 搜索命令 ) 一起使用。

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

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

常用命令

文件、磁盘管理:

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:查看当前系统登录用户的信息

第一列显示登陆用户名

第二列显示终端名

第三列显示登陆时间

exit:

如果是图形界面,退出当前终端

如果是使用ssh远程登录,退出登陆账户

shutdown:关机

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

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

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

reboot:重启电脑

时间: 2024-10-10 09:59:24

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

Linux开发环境搭建与使用——Linux必备软件之SSH

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议. SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.常用于远程登录,以及用户之间进行资料拷贝. 利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.SSH 最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台.SSH 在正确使用时可弥补网络中的漏洞.SSH 客户端适用于多种平台.几乎

Linux 开发环境搭建与使用——Linux 常用编辑器之vim

概述 vi 编辑器是 Linux 系统中最常用的文本编辑器,vi 在Linux界有编辑器之神的美誉几乎所有的 Linux 发行版中都包含 vi 程序. vi 工作在字符模式下,不需要图形界面,非常适合远程及嵌入式工作,是效率很高的文本编辑器,尽管在 Linux 上也有很多图形界面的编辑器可用,但vi的功能是那些图形编辑器所无法比拟的. 那 vim 又是什么呢? vim 是 vi 的升级版,它不仅兼容 vi 的所有指令,而且还有一些新的特性,例如 vim 可以撤消无限次.支持关键词自动完成.可以用

Linux开发环境搭建与使用——Linux 目录结构及文件

在 windows 平台下,打开"计算机",我们看到的是一个个的盘符: 在 Linux 下,我们是看不到这些盘符,我们看到的是文件夹(目录): 在早期的 UNIX 系统中,各个厂家各自定义了自己的 UNIX 系统文件目录,比较混乱.Linux 面世不久后,对文件目录进行了标准化,于1994年对根文件目录做了统一的规范,推出 FHS ( Filesystem Hierarchy Standard ) 的 Linux 文件系统层次结构标准.FHS 标准规定了 Linux 根目录各文件夹的名

Linux 开发环境搭建与使用——Linux 编译器之 GCC

上一节我们学习了 vim 编辑器,接下来我们一起学习 gcc 编译器,这里,我们要区分编辑器和编译器有何不同? 编辑器是指我用它来写程序的(编辑代码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具.就是说,我们用编辑器编写程序,由编译器编译后才可以运行! 编译器是将易于编写.阅读和维护的高级计算机语言翻译为计算机能解读.运行的低级机器语言的程序. GCC(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语

Linux开发环境搭建与使用系列教程

00.Linux开发环境搭建与使用1——Linux简史 01.Linux开发环境搭建与使用2——Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3——通过虚拟机安装系统(ubuntu) 03.Linux开发环境搭建与使用4——ubuntu更新设置 04.Linux开发环境搭建与使用4——Linux必备软件之Samba 05.Linux开发环境搭建与使用5——Linux必备软件之SSH 06.Linux开发环境搭建与使用6——ubuntu如何设置IP 07.Linux开发

Linux开发环境搭建与使用教程

00.Linux开发环境搭建与使用1--Linux简史 01.Linux开发环境搭建与使用2--Linux系统(ubuntu)安装方案 02.Linux开发环境搭建与使用3--通过虚拟机安装系统(ubuntu) 03.Linux开发环境搭建与使用4--ubuntu更新设置 04.Linux开发环境搭建与使用4--Linux必备软件之Samba 05.Linux开发环境搭建与使用5--Linux必备软件之SSH 06.Linux开发环境搭建与使用6--ubuntu如何设置IP 07.Linux开发

Ubuntu-18.04 LTS嵌入式linux开发环境搭建

Ubuntu-18.04 LTS嵌入式linux开发环境搭建 ubuntu-18.04 LTS于 2018年4月26号正式发布,很多网友早就迫不及待下载下来安装了,同时也在博客分享了自己的安装体验,分desktop和server的文章,写得稍微简单了一些.本人这几个月一直在忙嵌入式AI ARM+VPU平台设计,没有及时去体验ubuntu-18.04 LTS,不过本人也得跟上步伐,因为本公司去年开发的DM8127平台最新版本的SDK3.9.1需要用到64bit虚拟机,正在玩的Intel Movid

嵌入式linux开发环境搭建(四)——Samba服务器的搭建

嵌入式linux开发环境搭建(四)--Samba服务器的搭建 linux系统:ubuntu Server 12.04 安装流程如下: 1.安装 sudo apt-get install samba samba-common 2.修改配置文件/etc/samba/smb.conf [samba] comment = Samba Server browseable = yes path = /home/samba printable = no writable = yes write list =

嵌入式linux开发环境搭建(五)——Ubuntu第三方软件仓库源

嵌入式linux开发环境搭建(五)--Ubuntu第三方软件仓库源 一般来说ubuntu官方的软件仓库由于服务器在国外,下载更新速度较慢,需要将软件仓库更换为国内镜像点. 1.修改源配置文件 先备份原来的配置文件 mv /etc/apt/sources.list /etc/apt/sources.list.bak vim /etc/apt/sources.list 将国内的Ubuntu镜像点添加到配置文件 Ubuntu 163镜像点: deb http://mirrors.163.com/ubu