001. Linux基本命令——(韦东山第一期)

1 安装vm tools

虚拟机->弹出->重新安装vm tools->进入光盘->拷贝安装包到/opt。

sudo cp 安装包  /opt/

将安装包解压。

sudo tar -zxvf 安装包

运行安装程序VM… install,一路按回车默认选择 。

sudo ./VM.. install

设置共享文件夹:关闭虚拟机,在设置的选项里设置共享文件夹。

2 远程连接客户端

# 测试通信
ping  www.baidu.com 
#安装网络工具
sudo apt-get install net-tools 
# 查看IP地址
ifconfig  #查看IP地址
# 安装openssh.server
sudo apt-get install openssh.server
# 打开xshell软件,新建连接,设置对应IP,端口22,连接

3 apt管理软件包

3.1 apt的安装
# 安装vim
sudo apt-get install vim
# 将source.backup备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
# 百度搜索阿里云ubuntu镜像配置
deb https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# 清除sources.list的内容
echo > /etc/apt/sources.list
# 打开/etc/sources.list将配置文件复制进去
sudo vim /etc/apt/sources.list
# 按i插入,右键粘贴,esc退回一般模式,:wq 强制保存
 
# 更新apt的数据库
sudo apt-get update
# sudo apt-get upgrade 更新所有软件
# sudo apt-get install xxx 安装软件
3.2 apt的使用
# 更新apt的数据库
sudo apt-get update
# 升级已安装的软件包
sudo apt-get upgrade
# 更新数据库并升级软件
sudo apt-get update && sudo apt upgrade -y
# 安装软件
sudo apt-get install 软件1 软件2
# 只安装部升级包
sudo apt-get install 软件 --no-upgrade
# 只升级不安装
sudo apt-get install 软件 --only-upgrade
# 安装软件对应版本
sudo apt-get install 软件=版本号
# 卸载软件,保留配置文件
sudo apt-get remove  软件
# 卸载软件,不保留配置文件
sudo apt-get purge 软件
# 搜索含有包名的所有安装包
sudo apt-get search 包名
# 查看包的信息
sudo apt-get show 包
# 列出所有需要升级的包
sudo apt-get list --upgradable
# 列处所有已安装的八婆
sudo apt-get list --installed
# 列出所有包的版本信息
sudo apt-get list --all-version
# 自动清理系统
sudo apt-get autoremove

4 ubuntu树目录介绍

/bin: 存放常用命令; 

/sbin:系统管理员的管理程序;

/home:普通用户主目录;

 /root:系统管理员主目录;

/lib:系统开机动态链接库; 

/boot: 开机的镜像文件;

/etc:系统管理的配置文件;

/lost + found:非法关机后文件; 

/usr:应用程序文件夹;

/proc:不动-系统内存映射; 

/srv:不动-服务;

 /sys:不动-2.6内核新文件系统;

/tmp:存放临时文件夹;

 /var:存放经常修改的文件,日志;

/dev:设备管理器,硬件用文件形式存储; 

/media:挂载设备-U盘; 

/mnt:挂载外部存储;

/opt:软件存放目录; 

/user/local:软件安装目录;

/selinux:安全子系统,访问特定文件,三种工作模式;

5 linux命令概述

5.1 命令格式
#基本命名格式
命令 [选项] [参数]
# 命令必须存在,选项和参数可以不存在
# 选项以-指明
# 命令、选项、参数之间以空格来隔开
5.2 命令调用规则
ls -la
# shell根据ls命令名在PATH指定的路径下查找ls可执行程序
# 找不到或者不是可执行程序报错:command not found。
# 添加环境命令
export PATH=$PATH:/home/myapplication
5.3 命令提示
tom@host:~$
# 用户名@主机:当前用户命令$
# $ 普通用户,#管理员用户
5.4 文件路径
# 绝对路径:从根文件出发。
/home/tom
# 相对路径:从当前文件出发。
../opt

6 开关机命令

# 同步文件
sync
# 马上关机
shutdown -h now 
# 1分钟后关机
shutdown -1 now
# 重启
reboot
# 重启 
shutdown - r now
# 关机
halt

7 vim的使用

8 文件操作

8.1 pwd
# 查看当前文件绝对路径
pwd
8.2 cd
# 切换目录 目录中的隐藏文件 ..上一级目录 .当前目录
cd /home
# 切换到上一级
cd ..
# 切换到当前用户根目录
cd ~
8.3 ls
# 查看当前目录下文件 
ls -lha 目录
# -a 查看隐藏文件
# -l 详细显示 
# -h 大小有K、M、G等单位
8.4 mv
# 移动文件
mv xx /home
# 修改文件名
mv /home/file1 /home/file2  # 同名文件夹
8.5 cp
# 复制文件不改名
cp /home/file1 /opt
# 复制文件并改名
cp /home/file1 /opt/file2
# 递归复制
cp -r /home/work /opt
# -i 确认是否覆盖同名文件
# -r 递归复制文件夹
# -f 强制复制
# -d 链接文件只复制链接
8.6 mkdir
# 创建目录
mkdir dir0
# 父目录不存在
mkdir -p /home/dir0
8.7 rmdir
# 删除空目录
rmdir dir0
8.8 touch
# 创建文件
touch file0
8.9 rm
# 删除文件
rm file
# -r 递归删除
# i 确认是否删除
# f 强制删除
8.10 cat
# 读取文件  -n显示行号
cat -n 文件
# 一次性加载全屏显示
cat -n | more
# 按需求加载内容
cat -n | less
8.11 echo
# 输出到屏幕
echo $PATH
# 覆盖文件
echo xx > 文件
# 拼接文件
echo xx >> 文件
8.12 head tail
# 显示头5行
head -n5 文件名
# 显示末尾5行
tail -n5 文件名
# 监控末尾5行 按ctrl + c退出
tail -f 文件 
8.13 ln
# 创建软连接 类似于快捷方式 有依赖关系 删除源文件就不存在了
ln -s  快捷方式 目标文件
# 创建硬链接 无主从关系 只要有一个硬链接文件存在 删除任何一个其他还存在
ln 快捷方式 目标文件
8.14 history
#显示所有历史命令
history
# 显示最近10个
history 10
# 执行编号为5的历史命令
!5
8.15 tree
# 输目录显示
tree

9 帮助命令

# help 命令只能查内部命令帮助信息
# info 可以查内部指令和外部指令,能提供完整的GUN工具
# man 提供命令、API、概念、配置文件等帮助信息,比较全
man man # 查看man指令的介绍
# man 1		基本用户命令
# man 2		系统调用
# man 3		库调用
# man 4		/dev下的特殊文件
# man 5		文件格式和约定
# man 6		游戏程序
# man 7		宏和机制
# man 8		系统管理员命令
# man 9		内核相关文件

10 vim的使用

10.1 vim的安装
# 安装vim工具
sudo apt-get install vim
# 安装vim复制粘贴工具
sudo apt-get install vim-gnome
# 在vim编辑模式下按ctrl+shift+v
10.2 vim配置文件设置
# 复制配置文件当用户命令
cp /etc/vim/vimrc ~/.vimrc
# 修改用户目录下的配置文件
sudo vim ~/.vimrc
# 文件尾部添加
"关闭兼容功能
set nocompatible 
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch
# :wq保存
10.3 vim的三种模式
# 一般模式:任何模式下按esc回到一般模式,光标移动、复制、粘贴、删除。
# 命令行模式:在一般模式下输入:进入命令行模式,查找和替换。
# 编辑模式:在一般模式下按i或者a进入插入模式,编辑文本。
10.4 编辑模式的使用
# i 进入编辑模式,光标前插入文本。
# a 进入编辑模式,光标后插入文本。
# o 在当前行之下新开一行。
10.5 一般模式的使用
# 1. 追踪函数定义
gd
# 2. 格式化
v + = 
# 3. 查询man手册
shift + k
# 4. 复制
10 yy p  # 复制粘贴当前行开始的10行
# 5. 删除
10 dd # 删除当前行开始的10行
# 6. 撤销
u
# 7. 到文件开头
gg
# 8. 到文件某行开头
10 gg
# 9. 到文末
G
# 10. 到当前第一个x元素
fx
# 11. 当前行首
0
# 12. 当前行位
$
# 13. 删除光标前一个元素
x
# 14. 下一页
ctrl + f
# 15. 上一页
ctrl + b
10.6 命令行模式的使用
# 1. 查找
:/查找内容 # n在查询结果内向下移动光标,N向上移动光标
# 2. 替换
:%s/p1/p2/gc # 用p2替换p1 s替换 ,g全部替换,c需要确认
# 3. 定位到某行
:10
# 4. 设置行号
:set nu
# 5. 取消行号
:set nonu
# 6. 退出
:q
# 7. 强制退出
:q!
# 8. 保存并强制退出
:wq

11 搜索查找

11.1 find
# 按名字查找
find  /etc -name ""
# 按尺寸查找
find /etc -size +20M
# 按用户查找
find /etc -user ""
# 查找最近两天修改的文件
find /etc -mtime -2
# 不加文件夹为当前文件夹下查找
11.2 grep
# 查找文件中符合条件的字符串 -r递归 -n 行号显示
grep -rn "" 文件名
# 利用管道
cat -n 文件名 | grep ""
# 二次查找
grep -rn "字符串1" 文件名 | grep -rn "字符串2"
11.3 file
# 查看文件类型
# file 文件路径
file ~/.bashrc      # 为ASCII 编码的text类型
file ~/.vimrc        # 为UTF-8 Unicode 编码的text类型
file ~/Pictures/*  # 如图形文件JPEG/PNG/BMP格式
file ~/100ask/     # 为directory表明这是一个目录
file /bin/pwd      # 出现 ELF 64-bit LSB executable,即为ELF格式的可执行文件
file /dev/*           # 出现character special(字符设备文件)、 block special(块设备文件)等
11.4 which和whereis
# 查找命令或应用程序的所在位置
which gcc # 只显示指令位置
# 查找
whereis gcc # 显示指令位置、文件位置、头文件位置
11.5 显示系统信息
uname -a

12 压缩解压

12.1 gzip
# gzip用来压缩单个小文件
# -l 列出压缩文件内容 -k保留源文件 -d解压

# 压缩后删除源文件
gzip 文件  # 生成.gz文件
# 压缩后保存源文件
gzip -lk 文件名
# 解压
gzip -lkd 文件名
12.2 bzip2
# bzip2用来压缩单个大文件 和gzip类似,其压缩率更高
#  -k保留源文件 -d解压

# 压缩后删除源文件
bzip2 文件  # 生成.bz2文件
# 压缩后保存源文件
bzip2 -k 文件名
# 解压
bzip2 -kd 文件名
12.3 tar
# tar用来压缩目录
# -c创建生成包 -x提取文件 -t可以查看压缩文件 
# -z gzip方式,与c结合为压缩,与x结合为解压
# -j bzip2方式,与c结合为压缩,与x结合为解压
# -v 详细报告信息 -f 表示文件 -C指定目录解压

# 打包成tar.gz
tar -zcvf xx.tar.gz xx
# 查看压缩文件
tar -tvf xx.tar.gz.xx
# 解压到D文件
tar -zxvf xx.tar.gz -C D
# 打包称tar.bz2
tar -jcvf xx.tar.bz2 xx
# 解压到D
tar -jxvf xx.tar.bz2 -C D

13 时间日期

# 显示当前日期    
date + %Y 当前年份   +%m 当前月份   + %d 当前天     date “ +%Y-%m-%d %H:%M:%s” 年月日时分秒
# 设置日期
date –s “2023 -2-2 10:20:20”   修改当前系统时间
# 显示日历
cal 显示当前日历    cal 2022 显示2022日历

14 进程管理

# 查看进程信息 -e 显示所有进程 -f全格式
ps -ef | grep sshd
# 查看进程  -a当前进程 -u用户格式显示 -x 显示后台运行参数
ps -aux
#  树状显示进程信息
pstree #-p按进程PID排序 -u按用户排序
# 强制杀死当前进程
kill -g 进程号
# 杀死当前进程及其子进程
killall 进程号

# 相关字段说明
# F 进程状态标志 
# S 进程状态代码 
# UID 进程执行者ID 
# PPID 父进程标识(parent process ID) 
# PRI 进程执行的优先级(priority) 
# NI 进程执行优先级的nice值,负值表示其优先级较高 
# SZ 进程占用的内存大小 
# WCHAN 进程或系统调用等待时的地址
# %CPU cpu使用百分比 
# %MEM 内存使用百分比 
# VSZ 占用虚拟内存大小 
# RSS 占用物理内存大小 
# START 进程开始时间 

15 服务管理

# 查看systemctl管理的服务
ls -la /etc/init.d
# 开启服务
sudo systemctl start sshd
# 关闭
sudo systemctl stop sshd
# 查看状态
sudo systemctl status sshd
# 重启服务
sudo systemctl restart sshd

# 不中断正常功能下重新加载服务
sudo systemctl reload sshd
# 设置服务的开机自启动
sudo systemctl enable sshd
# 关闭服务的开机自启动
sudo systemctl disable  sshd
# 查看活跃的单元
sudo systemctl list-units
# 查看已启动的服务列表
sudo systemctl list-unit-files|grep enabled
# 查看启动失败的服务列表
sudo systemctl --failed

#  top 可以动态获取进程信息。
 top –d # 几秒修改,默认3s。
 top –I # 不显示僵尸进程。
 top –p # 指定IP。
# 交互操作
# 按u按输入用户排序,默认按cpu占用率排序,按n输入进程号排序
# 按k 输入进程号杀死进程,按q退出

16 磁盘挂载

# 查看磁盘挂载情况 -f 多了一个机器号
lsblk 
# 显示已挂载的分区列表 -h以GMK等字节大小显示,-a列出所有文件系统
df -ha
# 查看具体目录 -s指定目录占用大小汇总 -h带计量单位 -a含目录 -c增加汇总值
# --max-depth=1子目录深度
du –hac –max-depth=1 /opt
# 统计opt下普通文件个数
ls -la /opt | grep "^_" |wc -c

# 添加磁盘
1. 虚拟机添加硬盘
    虚拟机设置->添加->SCSI->创建新虚拟硬盘->设置大小->确定->重启
 2. 磁盘分区
    fdisk /dev/sdb 
    w 保存  q退出 
    n新增分区   m显示分区列表   p显示磁盘分区相当于fdisk –l   d删除分区
 3. 格式化    mkfs –t ext4 /dev/sdb1
 4. 挂载 yum install util-linux
    mount /dev/sdb1 /newdisk  umount -v /dev/sdb1或newdisk  重启失效
 5. 设置自动挂载    vim /etc/fstab  修改后执行 mount –a 或重启

17 网络命令

# 查看当前使用网卡
ifconfig 
# 查看所有网卡
ifconfig -a
# 设置网络IP
 sudo ifconfig ens160 192.168.1.137 # 只是单次设置完后还需要设置配置文件
 # 查看路由信息
 route
 # 修改DNS
 sudo vim /etc/resolv.conf # 8.8.8.8
 # 添加路由
 sudo route add default gw 192.168.1.1
 # 删除路由
 sudo route del default gw 192.168.1.1

上述 route 命令输出信息中各项的含义请看下表:

Destination目标网段或者主机
Gateway网关地址,” *” 表示目标是本主机所属的网络,不需要路 由
Genmask网络掩码
Flags标记。一些可能的标记如下:
U - 路由是活动的
H - 目标是一个主机
G - 路由指向网关
R - 恢复动态路由产生的表项
D - 由路由的后台程序动态地安装
M - 由路由的后台程序修改
! - 拒绝路由
Metric路由距离,到达指定网络所需的中转数
Ref路由项引用次数
Use此路由项被路由软件查找的次数
Iface该路由表项对应的输出接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值