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基础命令的主要内容,如果未能解决你的问题,请参考以下文章