IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> [linux从0到1] 第一篇:linux常见指令 -> 正文阅读

[开发工具][linux从0到1] 第一篇:linux常见指令

文章目录

一.基本命令

1. ls

2. pwd

3. cd

4. stat

5. touch

6. mkdir

7. rmdir

8. rm

9. man

10. echo

11. cp

12. mv

13. cat

14. date

15. top

16. shutdown

17.whoami

18. find

19. 重要热键

20. 拓展命令

二.?Linux重定向 管道命令 环境变量PATH

1. FHS

2.? 重定向

3. 管道命令

4. 环境变量

一.基本命令

1. ls

语法: ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

常用选项:

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。


-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录

-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
ts@localhost C]$ ls -ai Practice/
33562533 .   1423109 ..  33562579 main.c  33562580 Makefile  34794383 mybin_d  33562578 mytest.c  33562576 test.c  33562581 test.h  33562583 test.i  34794379 test.o  33562584 test.s
[ts@localhost C]$ 

linux当中一切皆文件。上面33562355、14231909等等都是inode 编号那么inode编号是什么呢?Windows:标识一个文件,文件名+后缀? ?linux:一般文件名+后缀不是作为标识文件的主要方式,而是inode。linux中文件名+后缀是给用户看的inode是作为系统层标识文件。

-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件


?

-l 列出文件的详细信息。

-t 以时间排序。

-R 列出所有子目录下的文件。(递归)

-1 一行只输出一个文件

??

2. pwd

语法: pwd

功能:显示用户当前所在的目录

常用选项:无

pwd一般配合cd使用

3. cd

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。

在linux中 " / "有两种身份: 1. 一串路径的分隔符,linux " / " ,windows? " \ "。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.? " /?"我们称为根目录?。

基本上,所有的操作系统,组织文件的方式,都是" 树 "型结构,多叉树 centos也是这样。

语法:cd 目录名

功能:改变工作目录。将当前工作目录改变到指定的目录下。相当于windows当中的双击

cd .. : 返回上级目录

linux中 " . "是当前目录? ," .. "是上级目录。?

 cd C/Practice/   绝对路径

cd ../../  相对路径

??

 cd ~:进入用户家目

 cd -:返回最近访问目录

4. stat

语法:stat 文件

功能:查看文件时间

?文件 = 属性 + 数据? ? 属性也是数据,属性和数据都要被保存起来。

?5.??touch?

语法:touch?[选项]...?文件...

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。类似Windows当中的新建文本文档

常用选项:

-a   或--time=atime或--time=access或--time=use只更改存取时间。
-d  使用指定的日期时间,而非现在的时间。
-f  此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m   或--time=mtime或--time=modify  只更改变动时间。
-r  把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t  使用指定的日期时间,而非现在的时间。

6. mkdir

语法:mkdir?[选项]?dirname...

功能:在当前目录下创建一个名为 “dirname”的目录,类似于Windows当中的新建文件夹

常用选项:

-p,?--parents??可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

tree: 以树状形式显示指定的路径结构?

7. rmdir

rmdir是一个与mkdir相对应的命令。

mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p] [dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

8. rm?

rm命令可以同时删除文件或目录

语法:rm [-f-i-r-v] [dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除


-i 删除前逐一询问确认


-r 删除目录及其下所有文件

9.man?

Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man

语法: man [选项] 命令

常用选项
?

-k 根据关键字搜索联机帮助

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下 q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

解释一下,面手册分为8章

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

10. echo

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为:?echo?[?-n?]?字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
功能说明:显示文字。
语法:echo?[-ne][字符串]或?echo?[–help][–version]

11. cp

语法:cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录 类似于Windows当中的复制粘贴

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则 它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的 目录,则会出现错误信息

常用选项:

-f 或 --force?强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户

?

-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接, 则一律视为普通文件处理

-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

12. mv?

mv命令是move的缩写,可以用来移动文件或者将文件改名(move?(rename)?files),是Linux系统下常用的命令, 经常用来备份文件或者目录。

语法: mv?[选项]?源文件或目录 目标文件或目录?

功能: 1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。类似于Windows当中的剪切

? 2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将 所给的源文件或目录重命名为给定的目标文件名。

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。

常用选项:

-f?:force?强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i?:若目标文件?(destination)?已经存在时,就会询问是否覆盖!

?13. cat

语法:cat [选项] [文件]

功能: 查看目标文件的内容

常用选项:
?

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

?14. date

date 指定格式显示时间: date +%Y:%m:%d

date 用法:date [OPTION]... [+FORMAT]

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

%H : 小时(00..23)

%M : 分钟(00..59)

%S : 秒(00..61)

%X : 相当于 %H:%M:%S

%d : 日 (01..31)

%m : 月份 (01..12)

%Y : 完整年份 (0000..9999)

%F : 相当于 %Y-%m-%d

2.在设定时间方面

date -s //设置当前时间,只有root权限才能设置,其他只能查看。

date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 //设置具体时间,不会对日期做更改

date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间

date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时间

3.时间戳 时间->时间戳

date +%s 时间戳->时间 date +%Y:%m:%d -d @1599642565

Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午 夜)开始所经过的秒数,不考虑闰秒

15. top

Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

我们目前要了解的选项
?

-u 指定用户名

-p 指定进程

-n 循环显示的次数

16. shutdown

语法:shutdown [选项]

常见选项:

-h : 将系统的服务停掉后,立即关机

-r : 在将系统的服务停掉之后就重新启动

-t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

如果各位老铁是后面购买了云服务器,尽量不要使用shutdown来关机,因为云服务器一般都要保证服务器一直在 线,使用exit或者ctrl+d退出即可

17. whoami

语法 whoami

18

18. find?

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
Linux下find命令提供了相当多的查找条件,功能很强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中含有网络文件系统(?NFS),?find命令在该文件系统中同样有效,只你具有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。

语法:?find?pathname?-options
功能:?用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
常用选项:

-name?按照文件名查找文件。

19.? 重要热键

重要的几个热键[Tab],[ctrl]-c, [ctrl]-d?

[Tab]按键---具有『命令补全』和『档案补齐』的功能

[Ctrl]-c按键---让当前的程序『停掉』

[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可 以用来取代exit

20. 拓展命令

◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;

◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln;

◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab;

◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;

◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。

二.?Linux重定向 管道命令 环境变量PATH

1. FHS

是什么? FHS本质一套规定Linux目录结构,软件建议安装位置的标准

为什么? 使用Linux来开发产品或者发布软件的公司、个人太多,如果每家公司或者个人都按照自己的意愿来配置文 件或者软件的存放位置,这无疑是一场灾难。我们可不想学完我们的Linux之后,去公司发现看不懂别人的目录结 构,更别谈开发了。

怎么办?
?

#进入根目录 [root@localhost home]# cd /

#查看目录树(两层,只看目录,不看文件)

[root@localhost /]# tree -d -L 1 .

├── bin -> usr/bin #可执行文件目录,linux自带命令在这里

├── boot #开机会使用到的文件,包括Linux核心文件以及开机菜单与开机所需配置文件等等。 ├── dev #设备目录

├── etc #配置文件几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。 ├── home #家目录,系统默认的使用者主文件夹,用户的个人文件都可放在这里

├── lib -> usr/lib #放置在开机时会用到的函数库,以及在/bin或/sbin下面的指令会调用的函数库 ├── lib64 -> usr/lib64 #与lib类似

├── media #放置可移除的设备,包括软盘、光盘、DVD等等设备都暂时挂载于此。

├── mnt #设备临时挂载目录

├── opt #第三方协力软件放置的目录\

├── proc #是一个虚拟文件系统,放置内存中的数据,不占用硬盘空间

├── root #系统管理员的主文件夹

├── run #放置系统开机后所产生的各项信息

├── sbin -> usr/sbin #里面包括了开机、修复、还原系统所需要的指令,root用户使用

├── srv #service是一些网络服务启动之后,这些服务所需要取用的数据目录。

├── sys #与proc类似

├── tmp #temp,让一般使用者或者是正在执行的程序暂时放置文件的地方

├── usr #unix software resource:与软件安装/执行有关 └── var #variable,与系统运行过程有关,主要为变动性较大的数据 19 directories

2. 重定向

输出/追加重定向:本来应该显示到显示器(通常)文件的内容,写入到文件当中。

>? 语法:输出重定向

功能:1. 写入指定文件。 2. 覆盖写。

>>? 语法: 追加重定向?

功能:会在指定文件末尾,追加内容。

<? 输入重定向:

或者本来应该从显示器(通常)文件读取数据,转化成从指定文件读取数据

?3. 管道命令

| |命令是可以产生数据的,如果我们还要多输出数据进行加工,甚至想多次加工,就需要使用管道

last:查看历史登录信息

使用 ”|“管道命令可以筛选出想要的数据,减少命令产生的数据量。

grep:按照行位单位,进行关键字过滤

?4. 环境变量

在linux中,命令、程序、工具统称为可执行程序

一条命令的执行过程:

1. 找到? 2. 执行

在系统中,可执行程序的搜索路径是保存在一个“全局”变量中,PATH,给系统提供命令的搜索路径。是环境变量的一个。

查看环境变量:

?添加环境变量:

[whb@VM-0-3-centos test]$ echo $PATH 

/usr/local/jdk8/bin:/usr/local/jdk8/jre/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbi n:/home/whb/.local/bin:/home/whb/bin

[whb@VM-0-3-centos test]$ pwd #查看自己当前处于哪个目录 /home/whb/test 

[whb@VM-0-3-centos test]$ export PATH=$PATH:/home/whb/test#导出新的环境变量,加上程序所在的路径 

[whb@VM-0-3-centos test]$ echo $PATH /usr/local/jdk8/bin:/usr/local/jdk8/jre/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbi n:/home/whb/.local/bin:/home/whb/bin:/home/whb/test 

[whb@VM-0-3-centos test]$ sudo rm /usr/bin/mycmd #删掉在/usr/bin路径下的可执行程序

[whb@VM-0-3-centos test]$ which mycmd #mycmd已经能通过环境变量被找到 ~/test/mycmd 

[whb@VM-0-3-centos test]$ mycmd #可以不带路径 hello world

显示当前环境变量:

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:21:26  更:2021-09-06 11:22:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:33:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码