0


linux上手指令

linux上手指令

😊本文为小邢原创,CSDN首发
📅发布时间:2022/7/10
🙌欢迎大家👍点赞❤收藏✨加关注
✒本文大约5400字左右
🙏博主水平有限,如有错误,还望告诉我,万分感谢!
🚩有什么问题也可在评论区一起交流哦!

文章目录

· adduser / passwd / userdel

这三个指令分别是增加用户、为用户设置密码、和删除用户的指令。

adduser —— 增加用户

注意,使用该指令需要切换到root用户,不然没有使用权限。在输入密码的时候密码不回显(注意,输入的是root的密码)。

在这里插入图片描述

切换到root用户我们就可以增加用户了!

adduser new_user

在这里插入图片描述

这样我们新用户就创建成功了,我们可以用 cut -d : -f 1 /etc/group 来查看所有用户。

在这里插入图片描述

可以看到新用户创建成功!

当然,我们也可以为新用户设置密码~~(注意,该指令同样需要用root的身份执行)

passwd —— 设置密码&&更改密码

passwd ***(用户名[如果当前用户就是该用户,可以省略不写])

在这里插入图片描述

userdel —— 删除用户

userdel -r ***(用户名)

在这里插入图片描述

在这里插入图片描述

同样,该操作需要root的身份。

· whoami

该指令能显示当前的用户。

· ls

ls的选项很多,我们在这里先列举说明常用的几个选项,其他的选项我们在之后的学习中边用在边学习使用。

ls -l —— 以列表形式显示当前目录下的文件属性

在这里插入图片描述

ls -l -a —— 以列表形式显示当前目录下的文件属性,包括隐藏文件。

在这里插入图片描述

我们可以看到,这里的隐藏文件有两个,一个是 . 、另一个是 ,这两个隐藏文件是什么呢?有什么用处呢?

· 、··(两个隐藏文件)

· ——表示当前路径

·· ——表示上级路径

[任何目录都有这两个隐藏文件]

cd、pwd

为了讲清楚这两个文件,我们补充一个命令:

cd —— 路径切换(目录切换)

pwd —— 显式当前路径

在这里插入图片描述

清楚了cdpwd命令后,我们就可以粗略的说明这两个隐藏文件了。

在这里插入图片描述

我们发现,当我们**cd . .**时,我们回退到了上级路径。

对于一个点的隐藏文件(·),它表示当前路径,我们可以通过这个隐藏文件来运行当前目录下的可执行文件。

在这里插入图片描述

当然,我们可以在当前目录下创建隐藏文件,不过这里要用到一个新的命令touch,我们之后会介绍。

在这里插入图片描述

路径

我们这里在说明一下路径的概念。

我们知道,大部分操作系统组织文件的形式都是以多叉树的形式:

在这里插入图片描述

路径可以理解为一个节点到另一个节点所经过的节点。

了解了路径后,我们又把路径分为绝对路径和相对路径。

对于绝对路径和相对路径,我们可以简单理解为:

绝对路径:从根节点出发的路径。

相对路径:不从根节点出发的路径。

要补充的是,linux下根目录用“ / ”表示,” / “也叫作路径分隔符。

此外,路径还回答了这样的一个问题:我在哪?我是谁?

比如下面的路径:

/home/xwl/test.c

我是test.c,我在**/home/xwl/**目录下。

那我们为什么要用路径的方式来定位一个文件呢?

那是因为对于一个节点它有唯一的父节点,这样我们就可以通过一个路径唯一的标识一个文件。

cd -

cd - :记录最近从哪里来的路径

我们可以用该指令加选项实现两个高频路径之间的切换

在这里插入图片描述

cd ~

~ :标识当前用户的工作目录

在这里插入图片描述

对于普通用户,其工作目录就是/home/###(用户名) ,对于root用户,其工作目录为/root。

ls -l -a -d

同样,目录也是一种文件,我们可以用ls命令来查看目录属性。

在这里插入图片描述

可以看到,当前目录下有一个名叫mydir的目录文件,现在我们来查看其属性:

在这里插入图片描述

我们可以看到,但我们用ls命令想查看目录属性时,查看的却是目录下的文件信息,所以我们得出结论,ls命令后面接目录文件时,优先显示目录下的文件信息。

如果我们要查看目录属性信息的话,我们可以用ls的这一选项:

ls -l -a -d [目录名]

在这里插入图片描述

· which

which —— 查看特定指令的系统路径

在这里插入图片描述

我们可以看到,指令也是某一路径下的程序,即文件,既然是文件,就有其属性:

在这里插入图片描述

我们可以看到,文件名是绿色的,在本机配色方案中,绿色文件就是**.exe**文件,即可执行文件。

我们不难发现,ls在查看目录文件时,不同类型的文件配色不一样,这是为什么呢?

alias

首先,我们来讲一下alias指令:

alias —— 给指令起别名

比如,我们给**"cd …"指令起一个back的别名,当我们再使用back的时候就可以实现与cd …**同样的效果。

在这里插入图片描述

[其的别名只在本次登录有效,当然我们不建议给指令起别名,这样会污染系统的指令池]

所以我们可以知道,ls指令就是ls --color=auto的别名,所以根据指令的字面意思,我们也就知道了为什么不同类型的文件有不同的颜色了。

ll

同样,我们可以用which指令来查看其路径:
在这里插入图片描述

我们可以看到,ll指令就是ls -l的别名,所以当我们以后要查看目录文件时,直接用ll指令会方便一些。

· touch

touch —— 创建普通文件,不能创建目录

在这里插入图片描述

stat

用stat可以文件的具体信息:

在这里插入图片描述

其中有三个时间信息:

Access、Modify、Change

touch指令还可以修改这三个文件时间信息,且如果touch指令后直接跟文件名的话,默认修改三个时间:

在这里插入图片描述

对于这三个时间我们之后会介绍到。。。

· mkdir

mkdir —— 创建目录

在这里插入图片描述

mkdir默认创建一个空目录,若我们想要创建多级目录,可以加上-p选项:

在这里插入图片描述

我们这里用到一个小工具tree,可以查看个当前目录下各文件的路径,安装方式如下:

yum install -y tree

如果不行就先执行下面指令在执行上面的文件:

yum install -y epel-release

· rmdir / rm

rmdir —— 删除空目录

在这里插入图片描述

对于非空目录,我们要加上 -r 选项:

rm -r [目录名]

在这里插入图片描述

如果你要强制删除一些文件,可以加上 -f 选项:

rm -f [文件名]

在这里插入图片描述

当然我们还可以强制递归删除:

rm -rf [文件名]

这里想补充的是,linux没有回收站,对于强制删除,删除时也没有删除提醒,所以在删除前请想好是否真的删除!

· man

“在linux中,如果我们对于一个指令不太懂,我们可以问一问这个男人!“

man —— 查手册

对于man手册,它有很多册,每册对于不同的信息,我们可以用指令man man来查看man的详细信息:

man man

在这里插入图片描述

我们可以看到,不同的指令和函数在不同的分区,比如printf函数在第三册:

man 3 printf

在这里插入图片描述

退出man手册按q就行。

man手册下载:

yum install -y man-pages

· cp

cp指令的作用是拷贝:

cp src dest

nano

在这里补充一个文本编辑器——nano,输入nano,后面跟着文件名就能进入nano

在这里插入图片描述

在这里插入图片描述

进入nano后我们可以写一些内容,要注意的是,^符号代表键盘的Ctrl按键。比如 ^X Exit ,在键盘上按 “Ctrl + x” 就能退出nano。

这里我们可以用cat指令,查看文件内容(cat指令之后会介绍):

在这里插入图片描述

可以看到,文本编辑成功,现在我们将cp.c的内容拷贝到cp_backup.c中:

cp cp.c cp_backup.c

在这里插入图片描述

拷贝成功!

cp指令拷贝默认在当前目录,我们也可以指定目录进行拷贝:

拷贝到上级目录的cp_backup.c文件中:
cp cp.c . ./cp_backup.c

cp指令加上 -r 选项也可以拷贝目录文件:

在这里插入图片描述

当然,加上 -f 选项就是强制拷贝文件。

cp -rf src dest

· mv

该指令的功能是剪切:

mv src dest

在这里插入图片描述

mv指令还可以给文件重命名:

mv file1 file2(在当前目录下没有file2)

在这里插入图片描述

· 查看文件内容

cat

这里我们先用命令行脚本生成一个1000行的大文件:

在这里插入图片描述

cat file.txt —— 查看文件内容

cat -n file.txt —— 所有行带上行号查看文件内容

cat -b file.txt —— 对非空输出行编号

在这里插入图片描述

我们会发现,当我们输入cat -n file.txt 时,内容直接刷屏到了文件内容的最后,我们想要看前面的内容还得鼠标向上滑,比较麻烦。

tac

tac —— 逆序查看文件

(我们会发现,tac就是cat倒着写!)

在这里插入图片描述

同样,如果我们要看文件末尾比较麻烦!

more

针对上面两种查看文件的方法,文件内容会刷屏,more指令能实现对文件的分批查看。

当内容把屏幕占满后就不往下显示了,若想继续向下查看文件内容,按住回车可以向下查看:(只能向下看)

在这里插入图片描述

q可退出查看。

more -n file.txt —— 查看前n行的内容

在这里插入图片描述

less

该指令与more类似,都是分批查看文件内容,当屏幕占满了,不再显示。

不过less想要往下继续查看文件内容要按下键,按上键向上看。

在用less查看文件时,还可以输入 /n 查看第 n 行的内容:

我们输入 /544:

在这里插入图片描述

less -N file.txt —— 带上行号查看

(注意是大N)

在这里插入图片描述

同样,按q退出查看。

head

head file.txt —— 查看文件前10行

head -n file.txt —— 查看文件前n行

在这里插入图片描述

在这里插入图片描述

tail

tail file.txt —— 查看文件末10行

tail -n file.txt —— 查看文件末n行

在这里插入图片描述

查看文件中间部分

那如果我们想查看文件的中间部分呢?在介绍具体操作之前先介绍几个工具和指令:

echo

echo —— 把你想要显示的内容显示到标准输出(显示屏)上。(默认输出空行)

eg.显示字符串hello world

在这里插入图片描述

输出重定向 / 追加重定向(> / >>)

当我们想把内容输入到文件中的话,我们就要用到输入重定向:

echo “hello world” > log.txt (如果log.txt当前目录不存在,会自动创建)

在这里插入图片描述

如果我们想继续往log.txt中输入内容,则需要用到追加重定向:

echo “hello world” >> log.txt

在这里插入图片描述

输出重定向和追加重定向可以理解为原本内容要输出到标准输出上,现在我们改变了输出的方向,输出到文件中。

输入重定向(<)

cat < log.txt

cat 后面不加文件名,默认从标准输入(键盘)读取内容。

在这里插入图片描述

我们可以看到,我们键盘输入全部显示到屏幕上。

现在我们想从文件中读取信息,这可以使用输入重定向:

在这里插入图片描述

eg.查看file.txt文件的100-120行内容

方案1:

head -120 file.txt > temp.txt

tail -20 temp.txt

在这里插入图片描述

方案2:(管道 |)

对于方案1有一个缺点,要将前120行的内容先存在temp.txt文件中,在对temp.txt取后20行。比较麻烦,下面所介绍的管道可以避免此麻烦:

head -120 file.txt | tail -20

在这里插入图片描述

通过上面的例子,我们大致能理解管道的作用,就是用于数据内容的传输,且在使用管道时,隐式的使用的重定向。

· date

date —— 默认格林威治时间格式

在这里插入图片描述

date +%Y :年(大Y)

date +%m :月(小m)

date +%d :日(小d)

date +%Y-%m-%d :年月日(输出格式不限)

在这里插入图片描述

date +%H :时(大H)

date +%M :分(大M)

date +%S :秒(大S)

date +%H:%M:%S :时分秒

在这里插入图片描述

date +%s :时间戳(小s)

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

时间戳与常用格式的时间转换用" -d @时间戳 "转换:

在这里插入图片描述

· cal

输出日历信息:

cal 2022 :把2022年的日历信息打印出来。

cal -3 :把去年、今年、明年的日历信息打印出来。

在这里插入图片描述

· find

find指令的选项很多,用到的时候可以查man手册,这里介绍一个例子:

find [指定路径] -name [文件名]

eg.在当前目录下查找名为test.c的文件:

find . -name test.c

在这里插入图片描述

· grep

grep指令是行过滤工具,可以实现在文件中查找字符串,将匹配的行打印出来。

grep [字符串] [文件名]

在这里插入图片描述

grep -v [字符串] [文件名] :反向匹配(找其中不含有指定字符串的行)

在这里插入图片描述

grep -i [字符串] [文件名] :查找时忽略字母大小写

在这里插入图片描述

grep也支持正则表达式:

在这里插入图片描述

· 打包压缩 / 解压

tar

tar -czf test.tgz test

c : creat、z:gzip、f:file

在这里插入图片描述

tar -xzf test.tgz :解压到当前目录

tar -xzf test.tgz -C test :解压到指定目录

在这里插入图片描述

-v :将打包压缩和解压的过程打印出来

这里要区分一下打包和压缩的区别:

打包:将所有东西归拢起来

压缩:减少东西所在的空间

· bc

该指令能进行数学运算:

在这里插入图片描述

· uname

该指令能查看linux的相关信息:

在这里插入图片描述

· history

该指令能显示历史指令。

· file

显示文件信息:

在这里插入图片描述

· 常用热键

Tab

当我们一下指令想不起来怎么写时,只记得开头的字母,敲下开头字母,再按下Tab键,系统会把所有该字母开头的指令全部显示:

例如,我们忘了more指令怎么写的,我们敲下m,再按Tab键:

在这里插入图片描述

Ctrl+c

终止一切异常程序。

Ctrl+d

程序退出、用户退出、退出xshell。
【本文为作者原创,未经允许禁止私自转载,抄袭,一经发现,将会受法律责任】

标签: linux

本文转载自: https://blog.csdn.net/jisuanjizixue/article/details/125706229
版权归原作者 爱敲代码的小邢~ 所有, 如有侵权,请联系我们删除。

“linux上手指令”的评论:

还没有评论