Linux常见指令

Linux指令

一、环境搭建

​ 1.裸机安装或者双系统;

​ 2.虚拟机安装;

​ 3.使用云服务器,推荐使用这种方式;

如下使用的是centos7.6

二、操作系统的认识

2.1是什么

​ 操作系统是一款做软硬件管理的软件;

​ 对于软件的运行通常是从上往下贯穿执行的,依次是用户->用户操作接口(shell、库函数)->系统调用->操作系统内核(内存模块、进程模块、文件模块、驱动模块)->驱动程序->硬件;

​ 操作系统的核心工作就是通过对下管理好软硬件资源,对上提供一个良好的使用和操作环境;

2.2命令行

​ 计算机刚出现的第一个需求就是输入输出,而且发展过程中也是先出现的打字机,所以先出现了键盘,然后有了命令行解释器的这种设计,这种设计的使用是有门槛的,给专业人士使用。之后出现了鼠标,才使得图形化界面出现,更加符合普通大众的需求,更加符合商业化的思想。

三、Linux补充知识

​ 在Linux中以.开头的文件是隐藏文件,任何一个目录下都有.文件和…文件,这两个文件是硬链接文件,并不是独立的文件,没有独立的inode,.表示当前路径,…表示上级路径,方便用于路径切换;

​ d:表示的是一个目录文件类型,-:表示的是一个普通文件类型。

​ Linux下的路径分隔符是:/,Windows下是:\。

​ Linux下的根目录是:/,且Linux的整个目录结构是多叉树结构,对文件的增删查改本质上就是对多叉树的增删查改。

​ 通常是用路径对文件进行定位的,所以要保证路径的唯一性,因为整个多叉树结构从叶节点往上,父节点是唯一的,这样就保证了路径是唯一的。

​ 绝对路径是唯一的,而相对路径不是唯一的,是更具当前位置进行切换定位的;绝对路径的使用往往是在一些配置文件中使用的;

​ *是通配符,用来匹配任意一个文件,*cpp表示匹配所有以cpp为后缀的文件,test*表示匹配所有以test为前缀的文件,*d1.tar*表示匹配所有有d1.tar的文件;

​ 指令其实就是可执行程序,也就是文件,存放在/usr/bin路径下,一般安装软件就是安装在此路径下;

​ Linux下一切皆文件,都具有内容、属性、文件操作方法;

​ 输出重定向>是覆盖写入,追加重定向>>是追加写入,输入重定向<修改要读取文件;

​ 通过打包压缩成一个整体,1.这样多个文件转换成一个文件就能够防止文件缺失,2.可以使得文件变小,下载速度变快,存储空间减小,这样使得网络通信变快;

​ 热键 Tab,命令补全;ctrl+c发送终止信号,终止前台异常程序;ctrl+d退出登录;ctrl+r,查找历史命令

四、常见指令

​ 可以加 --help后缀来进行查找相关使用方式

1.登录指令

ssh 用户名@公网IP

2.用户创建和删除

adduser 用户名
#创建用户
passwd 用户名
#给用户设置密码
userdel -r 用户名
#将此用户删除,r表示递归,因为创建用户通常表现为创建了一个目录,而Linux的文件系统使用一个多叉树

3.ls,文件=文件内容+文件属性

ls -选项
#ls当前目录的内容,即目录内文件的属性; a表示查看隐藏文件通常以.开头,l显示详细信息,d显示当前目录属性,n将用户名以UID的方式显示,F表示在每个文件后面增加类型说明符,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。

4.pwd

pwd
#显示当前路径,配合着环境变量使用

5.mkdir

mkdir 目录名
#创建目录,-p 路径 表示创建一段路径

6.cd,可以使用chdir系统调用修改当前路径

cd 路径
#进入相对应的路径,~指的是进入家目录,即刚登录是所在的目录,-回退到最近一次出现的路径

7.touch

touch 普通文件名
#用来创建一个普通文件,也可以指定路径创建,因为bash进程记录着当前的工作目录,默认不写就是当前目录下创建。touch还有一个功能就是可以更新ACM时间,A-access,C-change,M-modify

8.rmdir / rm

rmdir 目录名
#专门用来删除目录的
rm 文件名
#对于普通文件直接进行删除,对于目录文件要加-r选项递归删除,但是可能会存在询问,所以一般使用-rf强制进行删除文件;

9.tree,安装sudo yum install -y tree,安装此插件

tree 目录名#将当前目录文件的所有内容以类树状结构显示出来

10.clear,也可以使用快捷键ctrl+l实现

clear #用来清空当前页显示

11.man,是一个手册

man 指令名/函数名
#1号手册查询指令,2号手册查询系统调用接口,3号手册查询c语言标准库相关内容,默认从1号开始查询,查不到继续往后查询,没找到提示返回,可以指定n号手册进行查询;

12.whoami

whoami
#用来回显当前用户的用户名

13.which

which 指令
#用来查找指令所在目录,默认查找位置是根据PATH环境变量来查找

14.echo

echo 字符串('hello'或者"hello")或者变量名/$变量名
#将字符串写入到文件中,默认写入显示器中,可以使用输入重定向和输出重定向实现写入其他文件
#变量名,显示的是变量名,$变量名显示的是变量的值
#默认使用的字符串是来换行的

15.printf

printf 字符串('hello'或者"hello")
#与echo唯一的区别就是不带换行

16.cat

cat 普通文件名,实际上是cat <普通文件名,进行了省略
#默认读取键盘文件内容,可以使用输入重定向修改读取文件,然后将文件内容写入到文件中,默认是显示器文件,不适合查看大文件,n会在文本前添加编号,b只会在非空行前打印编号,s将多个空行压缩为1个空行

17.cp

cp 路径+源文件 路径+目标文件
#将源文件拷贝到目标文件,f表示强制执行不用询问,i表示使用前进行询问;路径可以省略,但是要保证同一目录下没有同名文件,因为目录文件的内容是kv结构的文件名和inode的映射,要保证k是唯一的;
#对于目录的拷贝要使用rf选项,即递归强制执行

18.mv

mv 路径+源文件 路径+目标文件
#可以对文件进行重命名和移动剪切,路径可以省略
#对于同一目录下就是重命名,不同目录下就是移动剪切

19.alias

alias abc='ls -aln'/"ls -aln"
#作用是对一段命令进行起别名

20.more

more 普通文件名
#自顶向下查看文件,退出使用q,enter更新一行,空格更新一页
#不支持上下键查找

21.less

less 普通文件名
#使用最多的查找
#支持上下键、enter、空格查找
#可以使用/关键词来查找

22.head

head 普通文件名
#自顶向下用来提取文件内容,默认提取10行,n指定提取行数,可以搭配管道文件一起使用

23.tail

tail 普通文件名
#自底向上用来提取文件内容,默认提取10行,n指定提取行数,可以搭配管道文件一起使用

24.wc

wc -l
#统计文本行数

25.date

date
#默认显示中国标准时间
#date +'%Y-%m-%d——%H:%M:%S',以年-月-日——时:分:秒的格式显示日期
#date +%s,以格林威治时间戳显示时间
#date -d@时间戳,将任意的时间戳显示为默认格式的日期

26.cal

cal 
#默认显示当前年月的日历
#cal 年份
#显示此年份的12个月的日历

27.find

find 路径 -name 文件名
#在磁盘的指定路径中查找文件

28.whereis

whereis 文件名
#特定路径下查找包含此文件名的各个路径,并回显

29.grep

grep 普通文件名
#支持正则表达式的行文本过滤器,按行读取,进行子串匹配
#v表示反向过滤,'文本关键词'/"文本关键词"显示所有子串匹配项,-E "文本关键词"可以使用扩展正则表达式进行匹配
#可以配合管道使用,n表示显示编号,i忽略大小写,r递归匹配目录所有符合内容

30.zip/unzip

zip -r 路径/目标文件名.zip 路径/目录
#如果要压缩目录,需要使用-r选项
unzip 压缩文件.zip -d 路径
#指定路径解压,默认不加是在当前路径下解压

31.tar

tar czf 路径/文件名.tgz 路径
#将文件压缩,不需要-r选项,直接将包括目录文件在内全部文件压缩,c表示创建create,z表示zip,f表示文件file
#tzf,t表示预览,xzf,x表示解压,C表示指定目录

32.bc

bc
#进入计算功能
#ctrl+\表示退出

33.uname

uname 
#a表示显示所有信息,r表示显示内核和体系结构

34.free

free
#查看内存使用情况

35.df,disk

df
#查看磁盘使用情况

36.lscpu/lsmem

lscpu
#产看CPU使用情况

37.history

history
#显示历史命令以文本行的形式

38.shutdown

shutdown
#关机,r表示重启

39.halt

halt
#关机

五、shell命令及运行原理

​ Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。 而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。

​ 输入指令的本质其实就是输入字符串,这个shell外壳程序实际上就是一个进程。

​ 所有的指令都要在操作系统内部运行,但是操作系统的使用难度较高,用户不能直接和操作系统打交道。

在这里插入图片描述

​ shell外壳将使用者的命令翻译给内核处理,同时将内核的处理结果翻译给使用者。shell外壳程序的意义就是1.解释命令;2.保护操作系统,对于用户的非法请求直接拦截;

​ shell外壳程序是一个统称,bash或者sh等是一个具体的实例;

​ 用户与内核之间的软件有两类一种是命令行解释器,即shell外壳程序,一种是图形化界面;

相关推荐

  1. 服务器 Linux常见指令

    2024-03-17 06:22:04       37 阅读
  2. Linux常见指令

    2024-03-17 06:22:04       29 阅读
  3. Linux常见指令(二)

    2024-03-17 06:22:04       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 06:22:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 06:22:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 06:22:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 06:22:04       20 阅读

热门阅读

  1. 在一个程序页面中加几个字段用于增删改查

    2024-03-17 06:22:04       20 阅读
  2. 大模型近1年的发展所思

    2024-03-17 06:22:04       17 阅读
  3. iguana 库 C++ 反射原理

    2024-03-17 06:22:04       19 阅读
  4. web蓝桥杯真题:搜一搜呀

    2024-03-17 06:22:04       18 阅读
  5. Python自动化测试之使用pytest-mock模拟用户输入

    2024-03-17 06:22:04       20 阅读