一、Linux基础命令

1、Linux命令行的格式

命令行的格式为:用户名+主机名+当前工作目录

输入内容的命令格式为:命令 [-短选项/--长选项] [参数]

[root@localhost  ~]# 命令 [-短选项/--长选项] [参数]

其中命令就是“做什么”,选项就是“怎么做”,参数就是“对谁做”

例如:更改主机名

[root@localhost ~]# hostnamectl set-hostname 主机名
[root@localhost ~]# bash #环境变量重载

2、常用基础命令

1、pwd命令——作用:显示当前所在位置的完整路径

[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d

2、cd命令——作用:进入某个文件夹(某条路径)

蓝色字符代表文件夹

橄榄绿色的字符代表链接文件

黑色字符代表文本文件

.代表当前路径

..代表上一层路径

~代表当前用户的家目录,cd后面可省略

[root@localhost etc]# cd~
[root@localhost ~]# cd /
[root@localhost /]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#

3、ls命令——作用:显示当前文件夹的所有内容

-l -> 以长文件的形式显示(ls -l 可缩写成 ll 命令)

-a -> 显示隐藏的文件(以.开头的文件)

-la -> 以长文件的形式显示隐藏的文件(ls -al 可缩写成 ll -a)

-r -> 递归显示文件内容

[root@localhost /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]# ls -a
. bin dev home lib64 mnt proc run srv tmp var
.. boot etc lib media opt root sbin sys usr

4、man命令——作用:查看某个命令的使用帮助文档

[root@localhost ~]# man  ls 或 ls  --help

5、su命令——作用:切换用户

[root@localhost ~]#		#代表管理员root,有且仅有1个
[root@localhost ~]# su – luna 不需要输入普通用户密码
[luna@localhost ~]$ $代表普通用户,可以有多个
[luna@localhost ~]$ su – root 要输入root用户密码

6、passwd命令——作用:设置或更改用户的密码

注意:只有root用户才能使用该命令更改密码

[root@localhost ~]# passwd luna

7、date命令——作用:显示或者设置当前的系统日期和时间

date 单独使用 -> 详细日期和时间

date +%T -> 显示时间

date +%D -> 显示日期

date +%X%x -> 显示日期和时间

[root@localhost /]# date +%d%m%Y
04032021
[root@localhost /]# date +%d%m%y
040321

8、file命令——作用:查看文件类型

注意:linux中后缀名是可以自定义的,所以不要以文件的后缀名来判断文件类型

[root@localhost /]# file /etc/passwd
/etc/passwd: ASCII text

10、head命令(tail命令)——作用:显示文件的前(后)几行,默认显示10行,可带参数-n指定显示行数

[root@localhost /]# head /etc/passwd
...
[root@localhost /]# head -n 2 /etc/passwd
...
[root@localhost /]# tail -n 10 /etc/passwd | head -n 6 #查看/etc/passwd 文件倒数第10 行至第5行
...

11、cat(tac)命令——作用:将整个文档内容从头至尾(从尾到头)显示出来

[root@localhost /]# cat /etc/crontab
...
[root@localhost /]# tac /etc/crontab
...

12、wc命令——作用:统计文件中的行数、字数和字符数,分别对应-l、-w、-c

[root@localhost /]# wc /etc/shadow
42 42 1226 /etc/shadow
[root@localhost /]# wc -l /etc/shadow
42 /etc/shadow
[root@localhost /]# wc -lwc /etc/shadow
42 42 1226 /etc/shadow

13、history命令——作用:显示之前使用过的命令列表

[root@localhost ~]# history

[root@localhost ~]# !number    #执行历史命令列表中第number号命令

[root@localhost ~]# !string    #执行历史命令列表中最近一次与string匹配的命令

[root@localhost ~]# history -c  #删除历史命令列表中的所有命令

可通过上下键查找之前使用过的命令

15、init命令——作用:切换系统状态

[root@localhost ~]# init1  #切换到命令模式,相当于ctrl + alt + F2

[root@localhost ~]# init5  #切换到桌面图形化模式,相当于ctrl + alt + F1

[root@localhost ~]# init0  #关机,相当于ctrl + alt + Del

二、Linux的文件系统

Linux系统一切皆文件!以“/”开头的路径都是绝对路径,不以“/”开头的路径都是相对路径

1、“/”下面的重要目录

  • /usr -> 存放普通用户命令(/usr/bin)、供root用户使用的系统管理命令,(/usr/sbin)、及安装的软件等数据。
  • /etc -> 存放系统服务的配置文件。
  • /dev -> 存放设备文件,例如硬盘、cpu、网卡等数据。
  • /home -> 普通用户的家目录(或主目录),存放普通用户的配置文件。
  • /root -> root用户的家目录(或主目录),存放root用户的配置文件。
  • /boot -> 存放系统启动过程所需的文件,系统内核等。
  • /var -> 存放动态变化的文件,例如日志文件、缓存文件、数据库等。
  • /tmp -> 存放临时文件,10天内未访问更改的文件将自动删除。
  • /run -> 存放上一次系统启动过的进程文件。

其中有4个链接文件:

  • /bin -> /usr/bin -> 存放普通用户使用的命令。
  • /sbin -> /usr/sbin -> 存放root用户使用的命令。
  • /lib -> /usr/lib -> 库文件
  • /lib64 -> /usr/lib64

2、文件相关的命令

1、touch命令——作用:创建一个空文本文件

[root@localhost ~]# touch /opt/abc
[root@localhost ~]# touch abc

2、dd命令——作用:创建一个大容量空文件

dd if=/dev/zero of=/test.file bs=1M count=100

3、mkdir命令——作用:创建文件夹

mkdir -p 创建多级目录

[root@localhost ~]# mkdir /aaa
[root@localhost ~]# mkdir -p /aaa/bbb/ccc

4、cp命令——作用:复制文件

cp -r 复制文件夹(-r递归复制,也就是将当前文件夹里面所有子目录也复制过去)

注意:当复制的旧文件与新文件重名时,旧文件将覆盖新文件。

[root@localhost opt]# cp -r /aaa/ /opt/

5、mv命令——作用:移动文件,重命名文件

[root@localhost ~]# mv /aaa /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
aaa
[root@localhost mnt]# mv aaa bbb
[root@localhost mnt]# ls
bbb

6、rm命令——作用:删除文件

rm -r 删除文件夹

rm -f 强制删除,不提示删除确认

[root@localhost /]# rm -f abc
[root@localhost /]#
[root@localhost /]# rm -rf /aaa
[root@localhost /]#

7、echo命令——作用:将命令后面的参数显示出来

$符号后面跟系统变量,这个变量可以是大写也可以是小写。

[root@localhost /]# echo $HOSTNAME
localhost.localdomain
[root@localhost /]# echo date
date
[root@chenglu213 /]# echo `date`
p 8 11:36:21 CST 2020

echo还可以修改文本内容,语法是:echo “XXX” > 、 >> filename

3、通配符的使用

*号简单模式匹配 -> 由0个或更多字符组成的字符串

?号简单模式匹配 -> 任何1个字符

{ }大括号 -> 批量执行命令,可以连续使用或者嵌套使用

[root@localhost /]# echo file{a{1,2},b,c}.log
filea1.log filea2.log fileb.log filec.log
[root@localhost /]# echo file{a,b,c}{1..3}.log
filea1.log filea2.log filea3.log fileb1.log fileb2.log fileb3.log filec1.log filec2.log filec3.log

``反引号命令替换

[root@localhost /]# echo today is `date +%X%x`
today is 12:59:11 PM11/13/2021

\反斜杠转意字符

[root@localhost /]# echo the hostname is \&HOSTNAME
the hostname is &HOSTNAME

由单引号括起来的字符都作为普通字符出现

由双引号括起来的字符,除$、反引号(`)和反斜线(\)仍保留其特殊功能外,其余字符均作为普通字符对待。

4、重定向操作符

一个>是重定向符,作用:覆盖写入,文件里的原有数据不保留

两个>>是追加重定向符,作用:追加写入,不覆盖已有内容,直接写在文件末尾,原数据保留

[root@localhost /]# touch err.txt
[root@localhost /]# systemctl restart unbound
Failed to restart unbound.service: Unit not found.
[root@localhost /]# systemctl restart unbound 2>err.txt
[root@localhost /]# cat err.txt
Failed to restart unbound.service: Unit not found.

在linux中,一个运行的程序(或称为进程)需要通过shell从键盘读取输入并将输出写入到终端或者文件。

进程使用一个名为文件描述符的编号通道来获取输入并发送输出。所有进程在开始时至少需要具有三个文件描述符:标准输入(通道0)、标准输出(通道1)、标准错误(通道2)。

5、管道符"|"的使用

作用:将前面的执行结果丢到管道符后面的命令去执行。

注意:管道符前面有重定向符号时,管道符后面要加上一个tee命令

[root@chenglu etc]# ls | grep ssh
ssh
[root@localhost /]# ls -l > 1.txt |tee less

三、vim文本编辑器

Vim有四种模式,分别是:插入模式、命令模式、末行模式和可视化模式。

1、插入模式

先按i/a/O/o -> 进入编辑状态(插入模式)

i -> 在当前光标处进行编辑
a -> 在当前光标下一格进行编辑
O -> 在当前光标上一行插入一个空行进行编辑
o -> 在当前光标下一行插入一个空行进行编辑

2、命令模式

先按Esc -> 退出编辑状态(插入模式)

yy -> 复制一行
nyy -> 复制n行
p -> 粘贴
dd -> 删除一行
ndd -> 删除n行
u -> 撤销上一次操作
U -> 撤销之前所有的操作
G -> 光标跳到末行
gg -> 光标跳到首行

3、末行模式

先按Esc -> 退出编辑状态(插入模式)

:(w/q/wq/wq!=x) -> 退出vim(w保存,q退出)
:set nu -> 显示行号
:set nonu -> 不显示行号
/word -> 从上而下查找某个单词内容
?word -> 从下而上查找某个单词word
N -> 从尾至头进行查找
n -> 从头至尾进行查找
:%s/XXX/YYY/g -> 将文档中所有的XXX替换为YYY

4、可视模式

先按Esc -> 退出编辑状态(插入模式)

V(大写的) -> 用光标选择  -> Y

vim多行注释:
1、先按Esc进入命令行模式
2、按Ctrl+v,进入列模式
3、上下键选择需要注释内容
4、按大写“I”键,进入插入模式
5、然后输入注释符“#”
6、最后按两下“Esc”键完成

四、常用快捷键

  • Ctrl + a -> 光标跳到命令行的开头

  • Ctrl + e -> 光标跳到命令行的结尾

  • Ctrl + u -> 将光标处到命令行开头的所有内容清除

  • Ctrl + k -> 将光标处到命令行结尾的所有内容清除

  • Ctrl + ← -> 将光标跳到命令行前一字的开头(在桌面图形化状态下)

  • Ctrl + → -> 将光标跳到命令行下一字的末尾

  • Alt + backspace -> 删除光标所在的单词

  • Ctrl + g -> 光标进入

  • Ctrl + Alt -> 光标退出

  • Ctrl + L -> 清屏 = clear命令

  • Tab键补全——补全命令、选项和参数

    按一次Tab键:补全唯一匹配的命令或者选项或者参数

    按两次Tab键:将所有匹配的命令或者选项或者参数全部罗列出来

Linux——基础命令用法(上)的更多相关文章

  1. Linux——基础命令用法(下)

    一.linux用户 1.什么是用户 用户是用来运行某一些进程.拥有某一些文件或目录. 在Linux里面,用户分成三大类:root用户.系统用户.普通用户. 用户是用UID来唯一标识身份的,且root用 ...

  2. linux基础命令用法

    目录管理 ls.cd.pwd.mkdir.rmdir.tree ls(list) 列出,列表 用法: ls -l:长格式 文件类型: -:普通文件 (f) d: 目录文件 b: 块设备文件 (bloc ...

  3. Linux基础命令---mput上传ftp文件

    mput 使用lftp登录ftp服务器之后,可以使用put指令将文件上传到服务器.mput指令可以使用通配符,而put指令则不可以.   1.语法       mput [-c]  [-d] [-a] ...

  4. Linux基础命令---put上传ftp文件

    put 使用lftp登录ftp服务器之后,可以使用put指令将文件上传到服务器.   1.语法       put [-E]  [-a]  [-c] [-O base]  lfile  [-o rfi ...

  5. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  6. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  7. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  8. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  9. linux mail命令用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

随机推荐

  1. Flutter随笔(二)——使用Flutter Web + Docker + Nginx打造一个简单的Web项目

    前言 Flutter作为一个跨平台UI框架,功能十分强大,仅用一套代码便能编译出Android.iOS.Web.windows.macOS.Windows.Linux等平台上的应用,各平台应用体验高度 ...

  2. PTA实验7-2-3 求矩阵的局部极大值 (15分)

    实验7-2-3 求矩阵的局部极大值 (15分) 给定M行N列的整数矩阵A,如果A的非边界元素A[i][j]大于相邻的上下左右4个元素,那么就称元素A[i][j]是矩阵的局部极大值.本题要求给定矩阵的全 ...

  3. 【Spring】IoC容器 - 依赖来源

    前言 上一篇文章已经学习了[依赖注入]相关的知识,这里详细的介绍一下[依赖来源]. 依赖来源 我们把依赖来源分为依赖查找的来源和依赖注入的来源分别讨论. 依赖查找的来源 1. Spring BeanD ...

  4. 【UE4 C++】 解析与构建 Json 数据

    准备条件 Json 格式 { "Players":[ { "Name": "Player1", "health": 20 ...

  5. 性能利器 Takin 来了!首个生产环境全链路压测平台正式开源

    6 月 25 日,国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为 Takin. 目前中国人寿.顺丰科技.希音.中通快递.中国移动.永辉超 ...

  6. es7集群的搭建

    es7集群的搭建 一.需求 二.前置条件 三.搭建步骤 1.下载es 2.创建 `es` 用户并给es目录授权 3.修改es的配置文件 4.es01目录下 elasticsearch.yml 的一个完 ...

  7. 晶振在电路设计时关于负载电容CL大小取值特别需要注意什么?

    在无源晶体的设计中,经常遇到负载电容CL的大小取值.晶振设计与精度的提高.KHz无源晶振的停止.音叉晶体谐振器的精度漂移以及精度和无源晶振在高温下的精度是否等于低温的精度烦忧的问题等. 无源晶体振荡器 ...

  8. 20191310Lee_yellow缓冲区溢出实验

    缓冲区溢出实验 1.什么是缓冲区溢出 ​ 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据 ...

  9. shell 中的判断

    一.if的基本语法: if [ command ];then    符合该条件执行的语句 elif [ command ];then    符合该条件执行的语句 else    符合该条件执行的语句 ...

  10. 小白都能看懂的Spring源码揭秘之IOC容器源码分析

    目录 前言 IOC 只是一个 Map 集合 IOC 三大核心接口 IOC 初始化三大步骤 定位 加载 注册 总结 前言 在 Spring 框架中,大家耳熟能详的无非就是 IOC,DI,Spring M ...