常见的Linux基本指令

目录

什么是Linux?

Xshell如何远程控制云服务器

Xshell远程连接云服务器

Linux基本指令

用户管理指令

pwd指令

touch指令

mkdir指令

ls指令

cd指令

rm指令

man命令

cp指令

mv指令

cat指令

head指令

[​编辑 tail指令](#编辑 tail指令)

​编辑echo指令

find命令

grep指令


本期开始,我们将进行Linux操作系统的学习。

什么是Linux?

Linux可能很多小伙伴都听说过,Linux是什么呢?

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发 布,之后,在加上用户空间的应用程序之后,就成了linux操作系统,严格来讲,Linux只是操作系统 内核本身,但通常采用"Linux内核"来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统, 它包括GUI组件和许多其他实用工具。总的来说,Linux就是一个开源的很nb的操作系统。

Xshell如何远程控制云服务器

在讲述基本指令之前,我们得自己先在相关网站购买云服务器,购买了云服务器(腾讯云,阿里云,华为云都可以,根据自身情况选择)之后,这个服务器是存放在商家那边的,我们要使用必须使用一款名叫Xshell的软件,使我们可以在自己的电脑上远程控制这些我们购买的云服务器。

Xshell远程连接云服务器

step1:购买云服务器之后,以华为云为例,点击控制台,可以看到实例

step2:点击实例,第一次进入,建议重置密码,并且记住这个公网ip,这使我们在Xshell上要输入的主机ip

step3:安装好Xshell之后,运行Xshell,点击左上角添加按钮,就可以配置云服务器了

step4:点击文件夹,可以看到我们之前创建的会话,点击连接,即可连接远程服务器。

step5:点击连接,之后会让输入用户名,这里只要是第一次登录,用户名都是root,即系统的最高权限拥有者,点击确定之后,会让输入密码,密码就是刚刚我们重置后的密码。如果忘了没关系,继续返回step2重置密码即可。

step6:点击确定,登录成功即可看到下列界面,此时我们就已经远程连接上了云服务器,我们就可以利用Xshell,通过基本指令来远程操控我们的云服务器进行相关的操作了。

Linux基本指令

用户管理指令

如果我们以root的身份进入了服务器之后,因为一个服务器可以供多个成员使用,如果我们还想添加其他成员怎样添加呢?添加之后,用户又怎样删除呢?

//添加用户
# ​​​​​​​​​​adduser yjd 
//添加用户密码
# passwd  yjd
//删除用户
# userdel -r yjd

注意:在我们添加用户密码时,我们是看不见密码的,正常输入就行。在Xshell中复制时ctrl+ins按钮,粘贴是shift+insert按钮。

pwd指令

**pwd:**展示当前目录。

touch指令

**touch:**创建文件指令,只能创建普通文件,不能创建目录(文件夹)。

更新文件的最新创建时间。

mkdir指令

mkdir:用于创建目录。

**mkdir -p:**创建多级目录。

ls指令

文件=内容+属性。没有内容的文件的大小也不一定为0,因为还要考虑文件的属性信息,属性信息也是占内存的。

ls:对于目录:展示当前目录下的所有子目录的名称属性和所有文件的名称属性。

对于文件:展示文件的名称属性和其它信息。

**ls -l:**以列表的形式展示当前目录下的子目录和所有文件的所有属性。注意与ls的区别,ls只展示文件名属性。

ls -a: -a表示显示当前目录下的隐藏文件,Linux下,以**.**开头的文件我们称之为隐藏文件。

**ls -a -l:**表示显示当前目录下的隐藏文件,并以列表的形式展示当前目录下的所有文件的更多属性。

ls -a -l 目录名:展示当前目录里的内容及其相关属性。

ls -a -l -d 目录名:展示当前目录的相关属性。

ll:ll 等价于**ls -l,**相当于ls -l的别名。

cd指令

绝对路径 :从根目录开始的路径,这个路径具有唯一性,一定可以找到相关目录和文件。

相对路径:从当前目录开始进行索引的路径。

找到一个相同的文件,只能有一个绝对路径,但是可以有多个相对路径。相对路径不能唯一的标识一个文件。
**cd:**切换目录。

cd后可以跟相对路径/绝对路径。

**.**表示当前目录。

**..**表示上级目录。

**cd -:**记录最近从哪里来的目录。进行当前目录与上次目录的切换。

cd ~:查看当前用户的工作目录。

对于root用户而言:工作目录一定为**/root**

对与普通用户而言:工作目录一定为**/home/xxx**

rm指令

**rm:**删除普通文件。

rm -r:删除当前目录及递归删除当前目录下的所有文件。

**rm -f:**强制删除。

**rm -rf:**强制递归删除目录及其下所有文件。

注意:rm -rf这个指令一定要谨慎使用,如果不小心递归删除了根目录,操作系统就会崩溃。

man命令

在C和C++中我们有专门的MSDN手册要,用于查看先关的函数和语法如何进行使用,在Linux中我们也有相关的手册,如果我们想看一个指令的用法是怎样的就要用到man指令。

man手册总共有8章:

  1. 是普通的命令

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

3.是库函数,如printf,fread

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

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

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

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

8.是系统管理用的命令,这些命令只能由root使用,如ifconfig
**man :**因为man手册共有8章,我们默认是在第一章进行查找。

**man num:**在num章进行查找。

不同的指令在不同的章节下进行查找,查找出来的结果是不同的。

cp指令

cp指令用于文件的复制。

**cp src dest:**把源文件拷贝到目标文件。如果目标文件没有,则会生成直接生成目标文件。

**cp -rf:**可以进行目录间的复制。

**注意:**目录的复制和文件的复制,可以发生在同一个目录下,也可以发生在不同的目录下,只要带上相对路径或者绝对路径即可。

mv指令

**mv:**剪切的功能,可以剪切复制普通文件,也可以剪切复制目录。

**mv:**也可以用于文件或者目录的重命名。

cat指令

**cat:**查看文件内容。

**tac:**倒序查看文件内容。

head指令

**head:**如果没有给定行数,默认查看文件的前10行内容。

**head -num:**查看文件的前num行内容。

tail指令

**tail:**如果没有给定函数,默认查看文件的后10行内容。

**tail -num:**查看文件的后num行内容。

echo指令

**echo:**将字符串打印在标准输出上。

**echo 字符串 > 文件名称:**将本应该在标准输出上输出的内容,写入到了一个文件里,如果这个文件不存在,就会自动创建文件。

我们把本应该在标准输出上输出的内容写入到文件中的这种操作,称作输出重定向

输出冲定性会清空原始内容,然后重新写入。

如果我们不想清空原始内容,想在之前的内容后面继续增加内容,此时我们就应该使用追加重定向。也属于输出重定向。只需要将之前输出重定向的**>改成>>**即可。

cat指令在读取文件内容时,如果没有指定文件,会从键盘读取内容,然后显示在标准输出上。

cat <: 从文件中读取内容,并打印在标准输出(标准输出可以理解为电脑屏幕)上,我们称作输入重定向

​​​​​​​

我们知道cat可以查看文件的全部内容,如果我们现在要求不查看文件的全部内筒,也不查看文件的前num行和后num行内容,我们此时该怎么做呢?

大家可以先思考这样一个场景,有20个数,我们要拿到第6个到第10个数之间的所有数,我们应该怎样去拿呢?一种方法就是依次数下去,然后拿到这5个数,另一种方法就是我们先拿到前10个数,然后再去拿到这10个数的后5个数,这样也就会拿到这5个数。在实际操作中,我们一般使用第二种方法,因为当数据很多时,第一种方法的效率太低。

如果在文件test1.c中我们要拿到第6行到第10行的数据,代码如下:

注意: 这其中我们用到了管道的技术,单个 **|**我们可以称作管道,我们可以将前10行的数据先输出到管道,然后再将管道里的后5行的数据输出,此时我们就拿到了第6到第10行的所有内容。其实我们在使用管道技术的同时,也用到了隐式的输出重定向。因为前十行的数据没有在标准输出输出,而是将它输出到了管道类,跟之前输出到文件里类似。

find命令

**find:**按名称查找文件。

grep指令

**grep :**可以将指定的字符或者字符串,在相关文件中找到并打印出来。

**grep -v:**将不包含指定的字符或者字符串在文件中找到并打印出来。

**grep -i:**不区分大小写将指定的字符或者字符串找到并打印出来打印出来。

以上便是我们在Linux常用到的一些指令。

本期内容到此结束^_^

相关推荐
davenian2 小时前
<OS 有关> ubuntu 24 不同版本介绍 安装 Vmware tools
linux·ubuntu·vmware
Simulink_2 小时前
ROS学习笔记15——Xacro
linux·笔记·学习·机器人·ros
北京迅为3 小时前
【北京迅为】iTOP-4412全能版使用手册- 第五章 Linux常用命令
linux·嵌入式硬件·4412开发板
南暮思鸢3 小时前
应急响应靶机——linux2
linux·网络安全·wireshark·write up·应急响应靶机系列·宝塔面板利用·webshell流量分析
sun0077004 小时前
ubuntu增加swap交换空间
linux·运维·服务器
LinuxST4 小时前
27、基于Firefly-rk3399中断休眠唤醒实验(按键中断)
linux·开发语言·stm32·嵌入式硬件
Diamond技术流4 小时前
从0开始学习Linux——环境变量详解
linux·服务器·学习·centos·软件安装·环境变量
疯狂吧小飞牛4 小时前
openssl创建自签名证书
linux·服务器·ssl
qhd吴飞5 小时前
在linux下用二进制方式安装mysql8
linux·运维·服务器
水饺编程5 小时前
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-32
linux·嵌入式硬件·fpga开发·硬件架构