linux基础命令

Posted lichuanjai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础命令相关的知识,希望对你有一定的参考价值。

一.vi/vim编辑器

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。

VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

1.一般模式

用vim打开一个文件就进入了一般模式,该模式下,可以使用上下左右按键来移动光标,也可以使用一些语法来操作

语法:

yy                                                                      #复制光标当前一行

y 数字 y                                                             #复制一段(y 1 3 y)当前光标1-3行

p                                                                        #箭头移动到光标处粘贴

u                                                                        #撤销上一步

dd                                                                      #删除光标当前行

d 数字 d                                                             #删除光标当前行

x                                                                        #删除一个字母,往后删

X                                                                       #删除一个字母,往前删

2.编辑模式

在一般模式下可以进行复制粘贴删除操作,但无法编辑文件内容,要想编辑文件内容,需要进入编辑模式,按下(i,o,a,I,O,A)即可进入编辑模式

语法:

i               进入后在当前光标处

o              进入后在当前光标后

a              进入后在当前光标下一行

I               光标所在行最前

A              光标所在行最后

O              当前光标的上一行

【esc】按键      退出编辑模式

3. 命令模式

在一般模式中,输入【?/:】中的任意一个,都可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!

命令:

:q                                                          退出

:w                                                         保存

:wq                                                       保存退出

:!                                                           强制执行

:wq!                                                      强制保存退出

:%s/旧的字符/新的字符/g                     批量替换

/                                                            可以在/后面输入要查找的词,往下查

?                                                         与/相当,往下查

:set nu                                                  显示行号

:set nonu                                              关闭行号

ZZ(shift+zz)                                     没有修改文件直接退出,修改文件保存退出,去除高亮显示

:x                                                          保存退出

二.常用基本命令

1.网络和系统管理操作

1.1查看当前网络ip

[oracle@oracle ~]$ ifconfig

如果没有ifconfig命令,可以 yum -y install net-tools       下载

[oracle@oracle ~]$ ip addr

也可以使用 ip addr命令查看IP

1.2测试主机之间网络连通性

[oracle@oracle ~]$ ping 192.168.128.128                       #测试内网,ping自己ip

[oracle@oracle ~]$ ping baidu.com                                 #测试外网,ping百度

1.3查看修改主机名

[oracle@oracle ~]$ hostname                #查看当前服务器主机名称

[oracle@oracle ~]$ hostnamectl set-hostname 新的主机名        #更改主机名

1.4关机重启命令

shutdown -h now

shutdown -h how  #立刻关机

shutdown -r now   #立刻关机重启

shutdown -h +10  #十分钟后关机

shutdown -h 12:00  #十二点关机

2.文件目录类

2.1显示当前目录的绝对路径(pwd)

[root@oracle ~]# pwd

2.2列出目录的内容(ls)

[root@oracle ~]# ls

基本语法:

[root@oracle ~]# ls -lh                                  #文件大小以合适的格式显示

[root@oracle ~]# ls -a                                  #显示所有文件,包括隐藏文件

[oracle@oracle ~]$ ls -l                               #长数据串列出,包含文件的属性与权限等等内容

2.3切换路径(cd)

[root@oracle ~]# cd /usr/local                           #切换到/usr/local 路径下

参数说明:

[root@oracle local]# cd ~                                  #回到自己的家目录

[root@oracle ~]# cd -                                        #回到上一次所在目录

[root@oracle local]# cd ..                                  #回到当前目录的上级

[root@oracle usr]# cd -P                                   #跳转到实际物理路径,而非快捷方式路径

2.4创建,删除目录

2.4.1.创建目录

[root@oracle ~]# mkdir a                                         #创建目录a

2.4.1.1创建多层目录

[root@oracle ~]# mkdir -p a/b/c                              #创建a目录,并在a目录里创建b,b里创建c

2.4.2.删除空目录

[root@oracle ~]# rmdir a                                         #删除目录

[root@oracle ~]# rm -rf a                                        #强制删除

2.5创建,删除文件

2.5.1创建文件

[root@oracle ~]# touch a.txt                                   #创建空文件a.txt

2.5.2删除文件

[root@oracle ~]# rm -rf a.txt                                  #强制删除文件

2.6 cp 复制文件或命令

cp old_path/old_filename new_path/new_filename        #将旧路径下的旧文件拷贝一份到新路径下

[root@localhost aa]# cp a.txt b.txt                #在当前路径下拷贝a.txt并取名为b.txt

2.7 mv 移动或重命名文件

2.7.1 移动文件

[root@localhost aa]# mv a.txt /root/etc           #将当前路径下的文件移到 /root/etc路径下

2.7.2 重命名文件

[root@localhost aa]# mv b.txt t.txt                 #将文件b.txt改名为t.txt

2.8 cat 查看文件内容

[root@localhost aa]# cat t.txt                         #查看文件t.txt的内容

[root@localhost aa]# cat -n t.txt                     #查看文件内容并显示行号

2.9 more 文件内容分屏查看器

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。

[root@oracle ~]# more anaconda-ks.cfg             #查看anaconda-ks.cfg文件内容

操作说明:

空白键(space)                  #向下翻一页

enter(回车)                            #向下翻一行

q                                           #离开

ctrl+F                                   #向下滚动一屏

ctrl+B                                   #返回上一屏

=                                          #输出当前行号

:f                                       #输出文件名和当前行号

2.10 less 分屏显示文件内容

       less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

[root@oracle ~]# less anaconda-ks.cfg                            #使用less查看文件

操作说明:

空白键(空格)                     #向下翻一页

【pagedown】                      #向下翻一页

【pageup】                          #向上翻动一页

/【字串】                              #向下搜索【字串】

?【字串】                           #向上搜索【字串】

q                                          #退出

注:个人感觉,less比more好用太多了

2.11 echo 输出文件内容到控制台

[root@oracle ~]# echo "hello world"
hello world

参数用法:

-e               #支持反斜线控制的字符转换

\\\\                #输出\\本身

\\n              #换行符

\\t              #制表符,也就是tab键

2.12 head 显示文件头部内容

[root@oracle ~]# head  anaconda-ks.cfg             #默认显示前十行内容

[root@oracle ~]# head -n 5 anaconda-ks.cfg       #显示文件anaconda-ks.cfg前5行内容

参数说明:

-n<行数>                      #指定显示头部内容的行数

2.13 tail 输出文件尾部内容

[root@oracle ~]# tail anaconda-ks.cfg               #默认显示文件尾部十行内容

[root@oracle ~]# tail -n 5 anaconda-ks.cfg        #显示文件尾部五行内容

[root@oracle ~]# tail -f anaconda-ks.cfg            #实时追踪文档的实时更新

参数说明:

-n                             #显示文档尾部行数

-f                             #显示文件最新追加内容,监视文件变化(可以用来查看进程变化)

2.14 > 覆盖   >>追加

将路径下的内容输入一个文件中

[root@oracle ~]# ll >a.txt                   #将当前路径下的内容写入a.txt中(覆盖原有内容)

[root@oracle ~]# ll >>a.txt                #将当前路径下的内容追加到a.txt中

将指定文件的内容输入另一个文件中

[root@oracle ~]# cat a.txt>b.txt        #将文件a.txt的内容写入b.txt中(覆盖原有内容)

[root@oracle ~]# cat a.txt>>b.txt     #将文件a.txt的内容追加到b.txt中

输入指定内容到文件中

[root@oracle ~]# echo '12345'>a.txt         #将12345写入a.txt中(覆盖原有内容)

[root@oracle ~]# echo '12365'>>a.txt      #将12365追加到文件a.txt中

2.15 软连接(相当于快捷方式)、硬链接(相当于复制了一个文件)

软链接: ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间

硬链接: ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件

这里只说软连接,(硬链接相当于复制)

[root@oracle ~]# ln -s /root/aa/t.txt  t1.txt        #因为要经常打开/root/aa/路径下的t.txt文件,如果每次打开都要这样切换目录

[root@oracle ~]# cat /root/aa/t.txt

#未免有些太麻烦了,所以我们直接在主目录下建一个该文件的软连接,以后直接打开该文件的软连接就行,不需要麻烦的切换路径。 

删除软连接

[root@oracle ~]# rm -rf t1.txt

进入软连接实际物理路径

[root@oracle ~]# ln -s /root/aa/bb cc            #创建/root/aa/路径下的bb的软连接cc

[root@oracle ~]# cd -P cc                            #进入软连接cc的实际物理路径

2.16 history 查看已经执行过的历史命令

[root@oracle bb]# history              #会显示你自登录开始执行过的所有命令(会显示行数)

Linux运维基础:Linux基础命令

在这里插入图片描述

命令的种类

  • 外部命令 — 需要进行安装(目录:/bin, /usr/bin,/sbin或/usr/sbin/)
  • 内建命令 — shell自带的命令

查看内置命令

help

查看命令的种类

# 查看某个命令是否是内建命令
[root@smartgirl~]# type jobs
jobs is a shell builtin
# 一个命令可能既有内建命令又有外部命令,可以使用 -a参数查看
[root@smartgirl~]# type -a pwd
pwd is a shell builtin
pwd is /usr/bin/pwd
[root@smartgirl~]# which pwd
/usr/bin/pwd

命令的位置

查看命令的位置

which $命令

查看系统变量:

echo $PATH

临时设置系统变量

PATH = $PATH:$路径1:路径2:路径3

永久设置系统变量

vi /etc/profile

添加:export PATH=$PATH:$新路径1:$新路径2


命令别名

查看linux自带的别名:

alias

临时设置别名:

alias $别名='$命令'

永久设置别名:

在/etc/profile 或 /etc/bashrc 文件中添加:alias $别名='$命令'
执行source /ect/profile使文件立即生效

也可以在 ~/.bashrc 或 ~/.bash_profile文件中进行配置,其中 ~/.bashrc和~.bash_profile的优先级比较高,当etc目录中配置和~目录中相冲突时,优先使用~目录中配置

如果用户home目录下的 .bashrc中的别名配置与/etc/profile相互冲突,可以将用户home目录中的.bashrc中的相应别名配置删除,或者修改该文件

临时取消别名:
①unalias $别名
②\\$别名
③使用指令的绝对路径


重定向到文件

> : 会清空之前文件中内容再写入
>>: 会在文件末尾继续插入内容

清空文件

echo "" > $文件名> $文件名


ls命令

ls 文件或目录路径信息
ls -d 目录信息
ls -l 文件或目录信息 查看数据的属性信息
ls -a 目录信息 查看目录中隐藏文件


文件查看

cat \\$文件名 -\\$行数
head \\$文件名 -\\$行数
tail \\$文件名 -\\$行数 — 查看文件末尾几行文字
more $文件名 – 显示阅读进度
less $文件名
向下逐行显示:回车
向下逐页显示:空格
向上逐行显示:方向键上
向上逐页显示:字母b


systemctl命令

作用:管理程序的运行状态

命令功能
systemctl start $服务启动服务
systemctl stop $服务停止服务
systemctl restart $服务重启服务
systemctl status $服务查看服务详细的运行状态
systemctl disable $服务让服务开机不要运行
systemctl enable $服务让服务开机运行
systemctl is-active $服务检查确认服务是否运行
systemctl is-enable $服务检查确认服务是否运行

ps命令

查看系统进程信息

ps -ef 查看所有详细的进程信息(相当于windows的任务管理器中显示信息)

PID :进程编号


kill 命令

删除指定进程:

  • kill $进程ID
  • kill -9 $进程ID // 强制杀死进程

yum 命令

不询问,直接安装软件:
yum install -y       


以上是关于linux基础命令的主要内容,如果未能解决你的问题,请参考以下文章

青蛙学Linux—文本编辑器Vi/Vim

运维基础--Linux的vim编辑器

Linux基础知识03——vim编辑器

Vim基础命令

linux vi/vim常用命令(重要!)

01-Linux系统VIM编辑