Linux基本指令(上)【Linux系统编程】

本文将开启Linux操作系统学习新篇章,欢迎与博主一起交流学习。

目录

一、ls指令

二、pwd指令

三、mkdir与rm指令

四、cd指令

五、touch指令

六、man指令(重要)

七、cp指令(重要)

八、mv指令(重要) 

九、cat指令 

十、more指令

十一、less指令 

十二、haed指令 

十三、tail指令

总结


一、ls(list)指令

语法:ls 【选项】【目录或文件】

功能: 对于目录,列出该目录下所有子目录与文件。(不带选项默认显示当前目录下的文件名

         对于文件,将列出文件名以及其他信息。

补充:

文件=文件内容+文件的属性

文件的操作=对文件内容的操作+对文件的属性的操作

常用选项:

(1)ls -l       

列出文件详细信息。(注意,“-”前面有空格)

可简写为  ll

简写:

 (2)ls -a

d 开头表示目录

- 开头表示普通文件

. 开头为隐藏文件,创建文件时在名字前加上一个.即为隐藏文件

  要想显示隐藏文件,就用ls -a指令

补充:

多个选项可同时使用

如-a和-l

同时使用时可写成

ls -a -l

ls -al

ls -la

事实上,Linux里任何一个目录下都有两个隐藏文件(一个点和两个点),这两个文件是什么呢? 

. .(点点)表示当前路径的上一级路径,用来回退到上一级。

. (点)一个点表示当前路径(点存在的意义是帮助用户定位到当前目录下的一个文件)。

(3)ls -d 

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

(4)ls -F

在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件,“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)

二、pwd(print working director)指令

语法:pwd

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

三、mkdir(make director)与rm(remove)指令

功能:新建目录。

若想创建一串路径,可以这样:

mkdir -p d1/d2/d3 

2、rm指令

功能:直接删除普通文件

若想删除目录,则可以用 -r选项

注意:

如果是root账号,在使用rm指令时,可能会问你是否确认要删除,如果不想被询问,可以用 -f选项。相反,普通用户如果想让它问你,可以带 -i选项,表示删除前统一询问。

如果是root账号,在使用-r选项时,会从最后一个文件问你是否确认删除,如果不想,可以用 -rf选项强制删除。

四、cd(change director)指令

(1)Linux中的路径分隔符为 / (Windows里是"\")

(2)Linux中“/”可以表示根目录。

(3)Linux整个目录结构一定是一个多叉树的样子,它的叶子结点一定是一个空目录或者非          目录文件,路上结点一定是非空目录,

        所有对文件的增删查改本质上都是对多叉树的增删查改

(4)定位一个文件通常用路径来定位,为什么这种方式能唯一定位到该文件呢?

答案:因为任何一个节点只有唯一一个父结点,所以逆向时路径是唯一的。

(5)绝对路径:从根目录/开始定位到指定位置,具有唯一性的路径。

(6)相对路径:以当前所处的路径为起始参照位置,来进行特定文件的定位。

(7)* 是通配符,作用如下

(8)/root目录就是root用户的家目录,其余普通用户的家目录都在/home/下。

选项: 

cd . .         返回上级目录

cd /home/litao/linux/        绝对路径

cd ~        进入自己所在的家目录

cd -        返回最近访问目录

功能:进入目录(相当于Windows中双击点进文件夹)

cd ~

 五、touch指令

功能:建立一个文本文件

六、man指令(重要)

安装指令:yum install -y man-pages

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

语法:man【选项】命令

eg:输入 man pwd会显示如下信息(跳转到手册后按q可返回)

如果我们用man去查man,可以看到 ,man手册分为8章:

1 是普通的命令

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

3 是库函数,如printf,fread

4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfig 

 如果想查C语言里的printf,就应该到3号手册去查

指令:man 3 printf

 如果不带章节数,默认从第一章按顺序往下找,如man printf会在第一章里找到printf指令,而不是C语言里的printf函数。

七、cp指令(重要)

介绍该指令前,我们先弄一个有内容的文本文件,再介绍一下输出重定向这个概念。

 如上图,当我们用echo+“hello Linux”这样的一句指令时,“hello Linux”会在显示器显示出来,也就是把“hello Linux”写入显示器中

 echo "hello Linux">test.txt 这条指令没有将数据写入显示器,而是把数据写到了文件中,这种行为就叫输出重定向

如果用两个大于号,就可改为追加重定向

通过cat指令可以打印文件内容

输出重定向时,会先将原始文件清空,然后再写入。

语法:cp 【选项】源文件或目录 目标文件或目录

功能:复制文件或目录

选项:

-f(--force)选项表示强行复制文件或目录,不论目的文件或目录是否已存在(不一定生效)

-i 或(--interactive)覆盖文件前先询问用户(也不一定生效)

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

copy文件举例: 

 

 如果想复制到上级目录下,可以这样:

cp test.txt ../test_backup.txt

copy目录举例:

 cp -r lesson3 lesson3_backup

 。

八、mv指令(重要) 

功能1:重命名

mv 【原来的名字】 【新的名字】

功能2: 剪切

 mv test_backup.txt ../

将test_backup.txt这个文件移动到上一级

本质上:是剪切并重命名

mv 【原来的文件名】 【新路径】+【新名字】

如果没有【新路径】,就是在当下这个路径重命名

如果没有【新名字】,就是单纯剪切到新路径。

 Ctrl+C:终止因程序或指令指令异常而导致无法输入的行为。

九、cat指令 

前面我们提过,通过cat指令可以输出文件内容

如:cat 【文件名】就是从文件中读取数据输出到显示器

如果cat后面什么都没有,则默认从输入设备中读取数据并输出

前面既然提到有输出重定向,那也一定有输入重定向。

如下,本来应该重键盘文件读取数据,现改成从指定的文件读取,这种行为叫输入重定向。

选项:

-n        对输出的所有行进行编号

-b        对非空输出行进行编号

-s        不输出多行空行(把多行转成一行输出) 

十、more指令

cat指令并不适合看大文本,而more指令则比较合适。

more 【文件名】显示完整个屏幕后按回车键可下翻,退出按q。

-500带选项可指定输出行数,-500就是500行。

只能下翻(回车),无法上翻

/999可跳到999行来显示

十一、less指令 

less 【文件名】显示完整个屏幕后可按上下键来显示上下文。

/999可跳到999行来显示

可以进行文本查找,【文本】+回车:显示对应的文本行。

按q(quit)可以退出。

十二、haed指令 

head -n 【文件名】

打印前n行

 十三、tail指令

tail -n 【文件名】

打印后n行

取中间段怎么取呢?

如1000-1020

head -1020 【test.txt】 | tail -20

( | 是一种符号,后面会被“系统”解释为管道文件)

上面这句指令就可以将文件test.txt中第1000-1020行打印出来。 

cat test.txt | head -50 | tail -20

功能:将test.txt文件中30-50行内容打印出来

 cat test.txt | head -50 | tail -20 | wc -l

(wc -l)统计行数。

总结

指令本质上就是可执行程序,和我们自己写的代码编译好的程序没有本质区别。

指令是在系统中特定的路径下存在的,一定是某种可执行程序。

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值