首页 > 系统相关 >linux笔记

linux笔记

时间:2024-06-21 22:58:56浏览次数:24  
标签:me linuxbox 笔记 echo 2019 ls linux 2017

linux命令行

重定向 : 标准输出 >. >>

ls > file_list.txt : 在此示例中,ls执行命令并将结果写入名为 的文件中file_list.txt。由于 的输出ls被重定向到文件,因此显示屏上不会出现任何结果.

ls >> file_list.txt : 附加结果时,新结果将添加到文件末尾,从而使每次重复命令时文件变得更长。如果当我们尝试附加重定向输出时该文件不存在,则会创建该文件.

标准输入<

sort < file_list.txt : 在上面的示例中,我们使用sort命令来处理file_list.txt.由于标准输出未重定向,因此结果输出在显示屏上

sort < file_list.txt > sorted_file_list.txt : 将标准输出重定向到另一个文件.

管道 |

ls -l | less : 命令的输出ls被输入到less.

常与管道结合使用的过滤器是:截屏2024-05-03 01.25.19如ls | head输出的是:截屏2024-05-03 01.26.19

echo

echo this is a test : 表示在标准输出上打印文本参数.

echo D* : 表示打印出D开头的内容.

echo [[:upper:]]* : 表示打印出大写字母开头的内容.

算数扩展 $

echo $((2+2)) : 输出结果是4.

echo $(((5**2)*3)) : 输出5的平方乘以3的结果.

Brace Expansion { }

[me@linuxbox me]$ echo Front-{A,B,C}-Back
Front-A-Back Front-B-Back Front-C-Back

以上从大括号模式创建多个字符串.

[me@linuxbox me]$ echo Number_{1..5}
Number_1 Number_2 Number_3 Number_4 Number_5

{1…5}是从1到5.

[我@linuxbox我]$ mkdir Photos
[我@linuxbox我]$ cd Photos
[我@linuxbox照片]$ mkdir {2017..2019}-{01..12}
[我@linuxbox照片]$ ls
2017-01 2017-07 2018-01 2018-07 2019-01 2019-07 2017-02 2017 -08 2018-02 2018-08 2019-02 2019-08 2017-03 2017-09 2018-03 2018-09 2019-03 2019-09 2017-04 2017-10 2018-04 2018-10 2019-04 2019年10月2017-05 2017-11 2018-05 2018-11 2019-05 2019-11 2017-06 2017-12 2018-06 2018-12 2019-06 2019-12

file

作用:查看文件类型.截屏2024-05-03 15.06.16

命令替换 $

命令替换允许我们使用命令的输出作为扩展,即:

[me@linuxbox me]$echo $(ls)
桌面文档 ls-output.txt 音乐 图片 公共模板 视频
[me@linuxbox me]$[me@linuxbox ~]$ echo The total is $100.00
总计 00.00

参数扩展用空字符串替换了$1的值,因为它是一个为定义的变量.

双引号 “”

如果把文本放在双引号内,则shell使用的所有特殊字符都会失去其特殊含义并被视为普通字符,但参数扩展、算数扩展和命令替换仍然发生在双引号内:

[me@linuxbox me]$ echo "$USER $((2+2)) $(cal)"
me 2020年2月4日 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

反斜杠 \

在双引号下起作用,如\n可以换行.

权限

截屏2024-05-05 16.51.16第一个字符是指示文件类型的,后面分别表示所有者、组和其他人的读写执行权限.

例如,执行如下代码可以得到:

[me@linuxbox me]$ ls -l /bin/bash
-rwxr-xr-x 1 root root 1113504 2019年6月6日 /bin/bash
  • 文件由root用户拥有;
  • 超级用户有读写执行的权限;
  • 该文件归root组所有;
  • root组的成员可以读取执行文件;
  • 其他人都能读取执行文件.

chmod

利用chmod可以更改文件或目录的权限.(e.g.chmod 600 a.txt)截屏2024-05-05 16.57.31也即7:rwx;6:rw-;5:r-x;4:r–;0:—

创建脚本

首先用命令vim hello_world创建一个脚本,然后用chmod 755修改改脚本的权限,因为刚创建的脚本没有执行的权限,然后用命令./hello_world执行该脚本.

别名(alias)

alias l = ‘ls -l’ : 通过将alias命令添加到文件中,我们创建了一个名为“l”的新命令

此处脚本(here script)

command<<用作命令的标准输入标记的标记内容.(此处可以是任意的)

_EOF_(end of file的缩写)

可以用title =“My system” , $title来达到替换My system的目的.(不允许有等号)

查看环境中的所有变量printenv。

双引号的目的之一是为了防止包含空格字符时出现不必要的单词分割.

存根函数

如果我们没有完成某个函数的所有细节,我们会添加echo如下命令:

system_info() { # 临时函数存根
    echo"function system_info" }

这样的话,即使我们没有完成system_info函数,我们的脚本仍然会执行。使用echo的原因是我们从脚本中得到一些反馈来表明函数正在执行.

uptime

该函数将显示:系统自上次重新启动以来“启动”(运行)的时间长度、用户数量和最近的系统负载.

$?

$?用来存储上一个命令的退出状态码,当一个命令执行完毕后,他会返回一个退出状态码,用来表示该命令执行的结果或者状态.例如:

[我@linuxbox~]$ true
[我@linuxbox~]$ echo $?
0 [我@linuxbox~]$ false
[我@linuxbox~]$ echo $?
1

if

  • 命令终止时会向系统发送一个值,称为退出状态。该值时0到255之间的整数,0表示成功,其他值表示失败.
  • fi是shell脚本中用于结束if语句块的关键字.
  • 同时true代表1,所以if true就是if 1.

测试

if [-f .bash_profile ]; then
    echo“你有一个 .bash_profile。一切都很好。”
 else
    echo“哎呀!你没有 .bash_profile!”
fi

表达式"-f .bash_profile"表示询问".bash_profile"是一个文件吗?

其次第一行代码中的分号,它是命令分隔符,使用它可以在一行上放置多个命令.

根测试

id命令可以告诉我们当前用户是谁,当使用-u选项执行时,它会打印当前用户的数字用户ID.

$

1:在Shell脚本中,$用于引用变量的值。例如,$VAR表示变量VAR的值。

2:$()(或反引号````)用于执行命令并将其输出作为字符串返回。例如,`$(date)`将执行`date’命令并返回其输出。

3.环境变量:一些特殊的环境变量,如$HOME表示用户的主目录,$PATH表示可执行文件的搜索路径等。

find查找文件名

find ~/CNN -name “a.txt” : 表示在~/CNN目录下查找a.txt。-name表示要查找的文件名模式.

find $FOAM_SRC -name “*slip” : 表示在环境变量FOAM_SRC下查找以slip结尾的文件.其中FOAM_SRC指向OpenFOAM的源代码路径.

shell脚本

iterm2快捷键

截屏2024-05-06 15.54.41

标签:me,linuxbox,笔记,echo,2019,ls,linux,2017
From: https://blog.csdn.net/Zion__/article/details/139810695

相关文章

  • 进程(一万字学习笔记)
    ------------------------本文为学习进程记录的学习笔记,如有问题欢迎指正--------------------------目录1.定义2.进程的种类2.进程的内存布局3.进程控制块(PCB)4.进程源语fork()写时复制exec()execl函数wait() #进程回收waitpid()函数5.僵尸进程僵尸进程产生......
  • opencv入门-小白的学习笔记c++(1)
    注:以下是根据链接https://blog.csdn.net/Cream_Cicilian/article/details/105427752的小白学习过程。1加载、修改、保存图像1.1加载图像1.1.1加载图像cv::imread用于从文件中读取图像数据并将其存储到一个cv::Mat对象中,其中第一个参数表示图像文件名称第二个参数,表......
  • Linux ─── 常见指令2
            总结:讲解linux的常见指令和linux的常识。  目录07.cp指令(重要):08mv指令(重要):09cat(正序显示文章内容)tac是倒序显示10.more指令(一般不用)11.less指令(重要)12.head指令13.tail指令14.时间相关的指令15.Cal指令(一般不用)16.find指令:(灰常重要)-name17.gre......
  • Linux系统编程基本程序框架
    -----仅作为学习笔记1、什么是Linux系统编程?Linux系统编程也叫Linux下的高级编程,是介于应用层和驱动层之间的。2、Linux系统编程的基本程序框架#include<stdio.h>#include<stdlib.h>intmain(intargc,char*argv[]){//argc:表示的是命令行中参数的个数//......
  • 硬件开发笔记(二十一):外部搜索不到的元器件封装可尝试使用AD21软件的“ManufacturerPart
    前言  这是一个AD的一个强大的新功能,能招到元器件的原理图、3D模型还有价格厂家,但是不一定都有,有了也不一定有其3D模型。ManufacturerPartSearch在设计工具中选择即用型元件  直接搜索,搜索到需要使用的元器件。在AltiumDesigner中,直接选中设备元件。无需使用第......
  • 【Linux进程】Linux下的---七大进程状态(什么是进程状态?Linux下有哪些进程状态?)
    目录一、前言二、什么是进程状态?三、操作系统(OS)下的---进程状态......
  • Linux系统之配置Nginx反向代理
    Linux系统之配置Nginx反向代理一、Nginx介绍1.1Nginx简介1.2Nginx反向代理二、本次实践介绍2.1本次实践简介2.2本次实践环境规划三、基于端口配置反向代理3.1安装nginx软件3.2备份配置文件3.3编辑nginx配置文件3.4启动Nginx服务3.5检查Ng......
  • 【嵌入式Linux】<总览> 文件IO
    文章目录前言一、文件IO常用函数1.open函数2.close函数3.write函数4.read函数5.dup函数6.dup2函数7.lseek函数8.fcntl函数二、文件读写细节1.换行符2.文件描述符3.errno和perror4.系统IO和用户IO5.Linux管理文件6.文件共享三、文件属性1.Lin......
  • nodejs从基础到实战学习笔记-模块化、包
    二、模块化2.1什么是模块化模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。2.1.1把代码进行模块化拆分的好处提高了代码的复用性提高了代码的可维护性可以实现按需加载•如果程序设计的规......
  • 最详细的JS学习笔记(连载)第二章、数组方法(删除)
    数组删除(1)数组.pop() 移除最后一个元素,并返回移除该元素值  参数:无        返回值:被删除的那个元素           原有的数组改变letary=[10,20,30]varres=ary.pop();console.log(res,ary)   //res=>30  ary=>[10,20]基于原......