ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Linux基础指令下

Linux基础指令下 一打印指令printf/echo与重定向操作1.1指令printf的作用功能printf用于格式化并打印数据他不会在末尾自动添加换行符类似C语言的printf函数的格式化字符串语法printf指定的格式【参数】-bash-4.2# printf %d 1231 1231-bash-4.2# -bash-4.2# printf %d\n 123465 123465 -bash-4.2#1.2echo指令的使用功能echo用于在终端输出文本或变量的值主要用于显示信息简单的变量查看或将字符串写入文件语法echo【选项】【字符串】指令常用选项-n:不输出行尾的换行符-e:激活转义字符串-bash-4.2# echo nihaodcscscs nihaodcscscs -bash-4.2#1.3重定向操作----以echo为例通过上面我们简单了解echo是默认在终端上打印内容的但是假如想要在其他文件里面打印东西就要开始重定向了重定向的定义重定向是指改变标准输入标准输出或标准错误输出的默认方向1.3.1输出重定向将指令本该显示在屏幕上的内容覆盖式写入到文件中如果文件不存在就创建如果本来就存在原内容就会清空echo hellowworld test011.3.2输入重定向让指令不再从键盘读取输入而是从文件内容中读取输入cat test011.3.3追加重定向将指令输出的内容写入到文件的末尾它不会清空原文件而是在后面接龙echo ciallo wodjksjc test011.3.4重定向的特别操作重定向但是不做任何操作可以用来协助新建/清空文件本质是利用了重定向的性质文件存在-----清空文件不存在-----新建[rootbite-alicloud 113]# log.txt [rootbite-alicloud 113]# 1.txt [rootbite-alicloud 113]# ls 1.txt hello.txt log.txt test.c [rootbite-alicloud 113]# ll total 8 -rw-r--r-- 1 root root 0 Sep 10 19:36 1.txt -rw-r--r-- 1 root root 2 Sep 10 19:34 hello.txt -rw-r--r-- 1 root root 0 Sep 10 19:35 log.txt -rw-r--r-- 1 root root 10 Sep 10 19:10 test.c [rootbite-alicloud 113]#二.Linux的万能手册-----man指令man指令的介绍Linux的命令有很多参数我们不可能全记住可以通过查看联机手册获取帮助功能man是Manual pages帮助手册的简称。它用于查看Linux系统中指令函数配置文件或者库调用的详细说明文档语法man [指令名称]常用选项-k根据关键字搜索联机帮助-a将所有章节的都显示出口比如 man printf它缺省从第一章开始搜索用a选项当按下q退出他会继续往后搜索直到所有章节搜索完毕科普内容man手册分为9章不同系统可能会有差别1. 是普通的命令最常用 的手册。2. 是系统调用如open, write之类的通过这个至少可以很方便的查到调用这个函数需要加什么头文件。3. 是库函数如printf, fread4是特殊文件也就是/dev下的各种设备文件。4. 是指文件的格式比如passwd就会说明这个文件中各个字段的含义。5. 是给游戏留的由各个游戏自己定义。6. 是附件还有一些变量比如像environ这种全局变量在这里就有说明。7. 是系统管理用的命令这些命令只能由root使用如ifconfig。8. 4和9一个是特殊文件一个是内核初学者一般不需要了解-bash-4.2# man printf -bash-4.2# man -a printf --Man-- next: printf(1p) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ] ^C #错误示范 -bash-4.2# man -1 printf man: invalid option -- 1 Try man --help or man --usage for more information. -bash-4.2# man -3 printf man: invalid option -- 3 Try man --help or man --usage for more information. #正确示范 -bash-4.2# man 1 printf -bash-4.2# man 3printf No manual entry for 3printf (Alternatively, what manual page do you want from section 3printf?) -bash-4.2# man 3 printf -bash-4.2#三.复制指令---cp功能cp用于复制文件或者目录它可以将一个或多个源文件复制到目标文件或指定目录中语法cp 【选项】源文件 目标文件说明cp指令用于复制文件或者目录如果同时指定两个以上的文件或目录且最后的目的地是一个已经存在的目录则它会把前面指定的所有文件或目录复制到此目录中常用选项-f或-force强行复制文件或目录不论文件或目录是否已经存在-i或-interactive在覆盖文件之前先询问客户-r为递归处理将指定目录下的文件与子目录一起处理,若源文件或目录的形态不属于目录或符号链接则一律视为普通文件处理-bash-4.2# tree . |-- mulu01 | |-- nihao01 | -- test789.txt |-- test23 |-- test.c -- \346\254\241\347\224\237\351\242\204\346\241\210.xlsx 2 directories, 11 files -bash-4.2# cp test23 mulu01 -bash-4.2# tree . |-- mulu01 | |-- nihao01 | | -- test789.txt | -- test23 |-- test23 |-- test.c -- \346\254\241\347\224\237\351\242\204\346\241\210.xlsx 2 directories, 12 files -bash-4.2#-bash-4.2# tree . |-- mulu01 | |-- nihao01 | | -- test789.txt | |-- test01 | |-- test02 | |-- test03 | -- test23 |-- mulu.tgz |-- mulu.zip |-- mulu.zip.0 |-- test01 |-- test23 |-- test.c -- \346\254\241\347\224\237\351\242\204\346\241\210.xlsx 2 directories, 12 files -bash-4.2# mkdir mulu59 -bash-4.2# cp mulu01 mulu59 cp: omitting directory ‘mulu01’ -bash-4.2# cp -r mulu01 mulu59 -bash-4.2# tree . |-- mulu01 | |-- nihao01 | | -- test789.txt | |-- test01 | |-- test02 | |-- test03 | -- test23 |-- mulu59 | -- mulu01 | |-- nihao01 | | -- test789.txt | |-- test01 | |-- test02 | |-- test03 | -- test23 |-- mulu.tgz |-- mulu.zip |-- mulu.zip.0 |-- test01 |-- test23 |-- test.c -- \346\254\241\347\224\237\351\242\204\346\241\210.xlsx 5 directories, 17 files -bash-4.2#四剪切指令----mv与Linux中一切皆文件理解4.1指令介绍语法mv [选项] 源文件 目标位置指令功能视mv命令中第二行参数类型的不同是目标文件还是目标目录目标已存在且是目录 → 移动把东西放进去目标不存在 → 重命名把源文件/文件夹直接改名常用选项-fforce 强制的意思如果目标文件已经存在不会询问而直接覆盖-i若目标文件 (destination) 已经存在时就会询问是否覆盖4.2深入理解Linux一切皆是文件4.2.1统一的接口在Windows里面操作硬盘文件打印机摄像头可能需要完全不同的软件和逻辑但是在Linux里面操作系统吧所以的硬盘和资源都伪装成了文件核心逻辑无论对方是硬盘上的文笔键盘还是显示器对于程序员来说都是文件操作只需要打开读取写入关闭例如读取键盘输入就是读取一个文件在显示器打印字符就是向一个文件写入内容有的文件是我们自己打开操作的有的文件是开机的时候系统自动帮我们打开的4.2.2文件分类Linux将不同类型资源分到了不同的伪装路径下普通文件txt,.c,.jpg以及压缩包等等目录文件在Linux眼里文件夹也是一种特殊文件里面记录着它包含的文件列表设备文件在/dev下例如:/dev/sda表示硬盘/dev/pts/0表示正在使用的终端窗口/dev/random表示一个产生随机数的文件4.2.3文件分类文件的完整信息中的第一个字符表示文件的类型-普通文件d: 目录文件c: 字符文件键盘显示器终端输入的数据具有顺序性b块设备文件磁盘I: 连接文件p: 管道文件五查看内容-----cat/more/less/head/tail指令5.1指令介绍指令cat语法cat [选项][文件]功能全量显示将文件内容一次性全部输出到屏幕上常用于查看短小文件或通过重定向合并文件常用选项-b 对非空输出行编号空行不做编号-n 对输出的所有行编号-s 不输出多行空行压缩连续空行为一行指令more语法: more[文件]功能分页查看允许用户一页一页阅读文件由于功能受限只能向后翻页多被less取代这里就不进行深入介绍了指令less语法head[选项][文件]功能分页查看是Linux中最强大的查看工具支持前后翻页快速搜索它不会预加载整个文件看超大日志速度快常用操作-b向上翻一页-f/space向下翻一页-/关键词搜索指定内容n查找下一个-g跳到文件开头-G跳到文件末尾-q:退出指令head语法head[选项][文件]功能查看开头默认显示文件的前十行常用于快速检查文件格式或确认表头信息常用选项-n[数字]指定查看文件开头的前n行-c[数字]指定查看文件开头的前n个字节指令tail语法tail[选项][文件]功能查看末尾。默认显示文件的最后10行常用选项-n[数字]指定查看文件末尾的后n行-f:循环读取实时追踪文件新增内容直到退出- -s 与 -f 连用指定每次读取间隔的秒数5.2常用操作5.2.1管道操作管道符|做的事情不是拼接命令而是把左边进程的std:out连接到右边的进程std:in,如下我们把tail-100和head -10连接在一起从而达到查看后一百个中前十个数据的效果-bash-4.2# tail -100 test01 | head -10 hello 401 hello 402 hello 403 hello 404 hello 405 hello 406 hello 407 hello 408 hello 409 hello 410 -bash-4.2#5.2.2阻塞操作cat加上回车这里光标移动到下一行卡住这里叫“阻塞”然后我们从键盘输入它能给我们显示出来叫做从键盘文件中读取并显示在显示器-bash-4.2# cat 1 1 1 1 2 2 8 8 9 9 ^C -bash-4.2#5.2.3镜像打印我们想要看到文件的最后一行cat反过来就是tactac可以镜像打印文件和cat相反5.2.4date 指令显示指定格式的时间date%Y%m%d在现实方面使用者可以设定显示格式格式设定为一个加号后面接数个标记标记其中常用的标记列表如下- %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-bash-4.2# date Thu Apr 16 09:27:20 CST 2026 -bash-4.2# date %Y:%m:%d 2026:04:16 -bash-4.2#
返回列表