IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux常用命令 -> 正文阅读

[系统运维]linux常用命令

安装软件

yum

centos 一般使用yum来管理软件

  • 更新所有可更新的包
    yum update

  • 安装git
    yum install -y git

? -y代表找到对应安装包后自动确认,否则需要你后面确认

  • 移除软件
    yum remove package_name (不支持通配符*)

  • 安装中文输入法

    yum groupinstall chinese-support
    

    Ctrl + 空格切换输入法

apt

Ubuntu 一般使用apt来管理软件

  • 安装
apt install app_name
  • 更新apt
apt-get update 或者直接使用: apt update
  • 更新可以更新的软件
apt-get upgrade 或 apt upgrade
  • 内核(系统)更新
apt-get dist-upgrade
  • 卸载软件
sudo apt-get autoremove --purge app_name

sudo 是切换用户命令,不加用户名是切换到root(获取到管理员权限),autoremove指明是卸载
--purge 干净的清理

修改root 密码

开机时迅速按e
到第二行 输入single 回车
然后按e
然后按b
然后输入passwd root

修改普通用户密码:

在root下,按passwd username

切换用户

su username

退出当前用户

exit 或 ctrl+d

vim

  • 配置vim:在~目录下,vim ./vimrc进行简单配置:

    set nu "设置显示行号"
    set backspace=2 "能使用backspace 回删。注:暂时没感受出来
    syntax on "语法检测
    set ruler "显示最后一行的状态
    set bg=dark "背景色设置
    set hlsearch "高亮度反"
    set laststatus=2 "两行状态行+一行命令行
    set cindent "设置c语言自动对齐
    set shiftwidth=4
    set t_Co=256 "设置指定配色方案为257
    set mouse=a "设置可以再VIM使用鼠标
    set tabstop=4 "设置TAB宽度
    set nocompatible "不兼容自带替换
    set noerrorbells "命令出错不响铃
    set showmatch "显示自动匹配括号等
    set incsearch "查找过程中就开始高亮显示
    set autowrite "自动存盘
    set cursorline "光标所在行下滑线
    set history=3000 "保存命令记录数量
    set autochdir "自动切换到打开文件所在目录
    set colorcolumn=82 "82列位置加一个线,作为代码长度的参考
    
    
    
  • vim中使用ctrl+s会冻住vim,解冻使用:ctrl+q
    在linux 下不要随便使用window下的快捷键!

  • vim 显示行号:set number 只是暂时显示行号,
    要永久显示行号需要修改vim配置;

  • 全局替换:%s/A/B/g,将所有的A替换为B

  • ctrl+p或者ctrl+n可提示输入,自动补全;

  • yy :复制1行, num yy :复制num行;

  • p :粘贴;

  • dd : 剪切1行,num dd :剪切num行;

  • 全选:esc后g+g+v+G (ggvG);全部复制:ggyG;全部删除:ggdG

  • u : 撤销; ctrl+r:取消上一次撤销;

  • set paste:粘贴模式,这样才不会格式混乱;

  • 保存文件时可以输入需要保存到的文件名:esc后按’:'后输入w test.cpp

  • hjkl: h:right, j:down, k: up, l:left

  • 0:快速到行首;

  • shift+^:到行头第一个字符;shift+$:到行尾最后一个字符;

  • 0(小写):向下插入一行;shift+o(大写):向上插入一行;

  • 定位到某个字符位置,从上往下使用/x,从下往上使用?x:比如,/cout.?endl,多个匹配位置移动:n下移,N上移;

  • 高亮查找:set hlserach

  • 保存退出:可以使用wq 但是使用x更优雅一些(有必要时才存盘)。前两种都需要按esc:后输入,可以更加优雅,直接输入shift+zz保存退出;

  • v:选择模式,可以按hjkl进行选中文本;

  • .:重复上一条命令;

  • 跳转到指定行:先输入行号然后按shift+g,或者:行号回车;

  • 跳转到第一行:gg;跳转到最后一行:g

  • 以词为单位移动: w:词头,e词尾;

  • 使用/x?x匹配后,按*:当前光标单词后面完全匹配相同单词,按#:当前光标单词前面完全匹配相同单词;

  • 取消匹配结果得高亮显示:noh

  • fx光标移到后面的x字符处(右移动),Fx反向移动x字符处(左移动);

  • tx光标移动到x字符前一个字符,Tx:反向移动到x字符前一个位置;

  • dtx删除到字符x前,输入d是要我们输入一个范围,用t来指明到哪里;

  • 多行注释:ctrl+v进入块模式,用j选中多行,按shift+i,在块的第一行加上注释标记//,然后按esc即可完成多行注释;

  • 取消多行注释:ctrl+v进入块模式,用hjkl选中多行的注释标记然后按d即可取消多行注释;

  • 与上行格式对齐:ctrl+v进入块模式,用hjkl选中需要对齐的行的然后按=即可和上行对齐;

  • 多行放到一行,选中文本,按shfit+j;

  • 分屏:上下分屏esc后输入:split,简写:sp,左右分屏esc后输入vsplit,简写:vs;切换分屏按ctrl+w+w

    • 隐藏某个分屏,切换到需要隐藏的分屏,按esc后输入:hide;
    • 关闭光标所在窗口使用:close 或者 q
    • 关闭第num个窗口:num q;
    • 分屏再打开一个文件vs file_path
  • 采用分屏同时编辑多个文件:

    vim test.cpp test.txt
    

    分屏后,切换到对应屏中按esc后输入b 该屏显示的文件,例如b test.cpp

  • vim中中打开其他文件:esc后:e file_name,如果文件不存在会自动创建;

  • 将耗时程序调到后台执行:先暂停ctr+z, 然后bg 1 (此处1是后台运行程序编号)。这效果等价于一开始执行时命令后面加&

    调回前台:可以先执行jobs查看你调到后台执行的程序列表 ,然后将需要调回的程序`fg bg_program_id;

    example:

    root@iZwz9gjpm4ky42hfxp73mwZ:/code/server_primer/study/multiThread/demo4# ./main_sleep &
    [1] 31817
    root@iZwz9gjpm4ky42hfxp73mwZ:/code/server_primer/study/multiThread/demo4# ./main_sleep &
    [2] 31822
    root@iZwz9gjpm4ky42hfxp73mwZ:/code/server_primer/study/multiThread/demo4# jobs
    [1]-  Running                 ./main_sleep &
    [2]+  Running                 ./main_sleep &
    root@iZwz9gjpm4ky42hfxp73mwZ:/code/server_primer/study/multiThread/demo4# fg 2
    ./main_sleep
    
    
  • 自带的vim教程:输入vimtutor

软件后台执行

nuhup

  • 程序后台执行,xshell断开依然执行:

    nohup program &
    之后程序打印信息在program所在文件夹下的nohub.out里

  • 查看刚才后台运行程序输出后几行:
    tail -n nuhup.out

tmux

安装好tmux后输入tmux新建一个会话窗口;

执行需要后台运行的程序,例如:

./server_main

ctrl+b 然后输入d 回车 --> 回到shell(隐藏窗口)

  • tmux ls:显示窗口会话
  • tmux attach -t 0 : 进入0会话窗口
  • tmux rename-session -t 0 <sess_name>:命名
  • tmux attach -t sess_name:进入sess_name窗口
  • tmux switch -t 0:切换
  • ctrl + d: 关闭当前会话

常用cmd

shell 快捷键

  • ctrl + w 往回删一个单词
  • ctrl + u 删除光标前的字符
  • ctrl + k 删除光标后的字符
  • ctrl + a 移到开头
  • ctrl + e 移到结尾
  • ctrl + l 清屏

ls

ls -l -a -h folder_name 
ls -lah folder_name

两个命令等价,-a列出所有(包括显示隐藏文件(夹):.d_name)
-h 可更规范显示信息

显示内容最前面是d表示是文件夹,是-则表示是文件,l表示是软链接

ls -F

文件夹后加一个’/'显示,便于区分文件和文件夹

ls -sail

显示文件Inode(最前面的数字),只显示Inode:ls -i

cd

  • cd /:到用户根目录,home所在目录
  • cd ~:到用户家目录,~:个人目录的地址,等价于/home/user_name,user_name非root

mkdir

递归创建文件夹

mkdir -p a/b/c

一次创建多个文件夹

mkdir a b c

rmdir

删除空文件夹
删除非空文件夹:rmdir -r folder_name

ps

查看当前目录下运行的进程(程序)

ps al

查看当前目录下进程,a 所有,l详细信息

ps axgl

系统下运行的所有进程,包括详细信息
(VSZ:内存,RSS:切换出所占物理内存,STAT:S-随眠,R-运行,S< - <运行优先级比较高,Ss+ - +:前端程序)

ps -A

查看系统后台程序

ps -ef

系统下运行的所有进程,-e所有,-f完整信息

ps --forest

  PID TTY          TIME CMD
12112 pts/0    00:00:00 bash
13430 pts/0    00:00:00  \_ ps

会显示当前执行程序(_ ps)的父进程(bash),
感觉不如pstree好用.

pstree

查看进程树

top

查看cpu使用情况

htop

需要先安装sudo apt-get install htop,
比top更形象的显示cpu等资源使用情况

kill pid_num

关pid为pid_num的进程,此时未带信号码,默认发出终止信号(15)

kill -s INT pid_num

优雅退出进程(以发送信号的方式退出),等价kill -s 2 pid_num

kill -9 pid_num

强制退出pid_num 进程。

只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略。下面是常用的信号:
HUP    1    终端断线
INT     2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM   15    终止
KILL    9    强制终止
CONT   18    继续(与STOP相反, fg/bg命令)
STOP    19    暂停(同 Ctrl + Z)

ref:https://www.cnblogs.com/rsky/p/4886043.html

killall process_group

退出一组进程

tree

查看目录结构,没有tree则需要安装

tree folder_name

touch

本来这个命令是用来将文件修改时间设置为当前时间的,当touch的文件不存在就会创建这个文件,
所以现在常用它来创建文件

touch file_name

cat

查看文件

cat file_name

rm

删除文件(夹)

rm file_name
rm -rf folder_name

递归(-r)强制(-f)删除文件夹

cp

复制文件(夹)

cp from_file to_dir

复制文件夹需要加-r

cp -r from to

ln

为file1 创建硬链接 file2(文件地址**(Inode)**一样,相当于取了个别名的同一个文件)

cp -l file1 file2

也可以使用ln file1 file2创建硬链接

为src_file创建一个软链接dst_file(类似于快捷方式,inode不一样)

cp -s src_file dst_file

也可以使用ln -s src_file dst_file创建软链接

mv

移动文件(夹),或者重命名文件

mv folder_name dir
mv file_name1 file_name2

man

查看linux中全面命令手册,按q退出

man ls

没有查看到的可以使用help

help cd

reboot

重启系统

shutdown

关闭系统

shutdown -h now
shutdown - h 60s

netstat -al | grep 8080

查看端口对应的程序

ifconfig

查看ip

pwd

查看当前所在路径

who

查看哪些用户登入了服务器

stat

查看文件详细信息

stat file

file

查看文件简单信息,比如文件类型,编码等

file file_name

!!

执行上一条命令
也可以:sudo !!

more 和 less

more向下查看文件,less向上查看命令

tail -num

查看文件的后num行,默认10行

head -num

查看文件前num行,默认10行

grep

g:global, re:正则,p:print

打印匹配的内容:

grep apple test.txt

统计匹配的内容:

grep -c apple test.txt

显示匹配内容所在行:

grep -n apple test.txt

打印不匹配的内容:

grep -v apple test.txt

和其他程序组合使用:

ps | grep bash

此时ps 输出作为grep的输入(|

zip

压缩和解压,用前需要安装sudo apt-get install -y zip,(-y表示安装时自动确认)

  • 压缩:zip abc_zip a b c 把a ,b,c文件压缩到abc_zip中,会生成abc_zip.zip

  • 解压:unzip abc_zip.zip

tar

tar -xvf xxx.tar.gz
tar -xvf xx.tat.gz -C path/

wget

从网络上下载东西,-c:如果中断可以续传。

 wget -c https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.gz

系统环境变量

当敲下一个命令,系统会从环境变量中找对应的程序执行。

echo $PATH
输出:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

查看所有环境变量:

printenv

过滤出想要看的环境变量可以结合grep:

printenv | grep PATH

设置环境变量,例如设置一个local环境变量(局部环境非全局环境)

test=local_env_test
echo $test
输出:local_env_test

设置为全局

到设置局部变量时的bash,将设置的局部环境变量导入到全局环境变量

export test

取消:

unset test

配置shell

vim ~/.bashrc

添加环境变量:

PATH=$PATH:/xxx/bin

让修改生效:

source ~/.bashrc

编写shell

vim test.sh
# 里面输入shell命令,例如:ls-A

直接./test.sh执行发现没有权限

使用chmod +x test.sh授予执行权限

chmod

英文全称:changemode

  • chmod +w file:授予写权限

  • chmod -r file:取消读权限

chown

更改文件所有者

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:37:16  更:2021-08-04 11:37:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 3:12:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计