linux基本命令

188 阅读7分钟

Linux

命令快捷键

命令内容扩展
ctrl + c强制退出
ctrl + d退出或登出当前用户、退出python输入
history搜索历史命令history | gerp + 过滤关键字
!+ 命令 + enterhistory从下往上检索命令eg: !p 会搜索p开头的命令,点击entre后立即执行该命令
ctrl + r历史命令搜索当出现reverse-i-search表示成功,按左右拿到命令并修改
ctrl + a光标移动到开头
ctrl + e光标移动到结尾
ctrl + lcelar清屏

基础命令

命令描述
ls -l以列表形式展示内容
tail -10 text.txt查看text.txt尾部10行文件
cd test切换到test目录
mkdir -p dir/test创建多层级目录,dit目录下包含test目录
touch test.txt创建test.txt文本
more test.txt查看test文件内容,带分页
cat test.txt查看test文件内容
cp -r dir1 dir2复制文件夹dir1 名字为文件夹dir2
mv dir2 dir1移动文件夹dir2为dir1, 会删除原文件
rm -rf dir1删除文件夹dir1
grep "heima" ./test.txt在test.txt文件中过滤是否有heima这个关键字
ls |grep t将|左边的命令结果,作为右边命令输入, 查找t文件
echo hello linux在终端输出 hello linux
echo hello linux > text.txt覆盖原text.txt文件 输入hello linux
echo hello linux >> text.txt追加原text.txt文件 输入hello linux
ping baidu.com链接baidu.com是否通
wget -c url终端下载器, -b:后台下载
curl -c url发送http请求, 获取信息、-O下载文件
ps -ef | grep tail查看tail进程
kill -9 进程ID关闭进程
df -h查看磁盘使用情况
iostat -x 1 3磁盘信息监控(一秒一次一共三次)
sar -n DEV 1 3网络状态监控(一秒一次一共三次)
env | grep PATH查看PATH环境变量
$取环境变量 用法: echo $PATH查看PATH环境变量
export MANAME=Even设置环境变量MANAME
chmod -R 751 hello.txt修改hello文件权限为751
chown root hello.txt把hello文件改root用户

包管理工具

命令描述
sudo yum -y install net-toolyum下载net-tool工具
sudo yum -y remove net-toolyum卸载net-tool工具
sudo yum -y search net-toolyum搜索net-tool工具
sudo apt -y install wgetapt下载net-tool工具
sudo apt -y remove wgetapt卸载net-tool工具
sudo apt -y search wgetapt搜索net-tool工具

介绍linux之前,需要了解下CentOS和Ubuntu与linux的关系, CentOSUbuntu都是基于Linux内核的操作系统发行版。

CentOSUbuntu的区别

  • 为什么执行命令钱需要前面添加sudo
    • sudo (superuser do)的缩写,超级用户使用者,
    • 让开发者使用最大权限
  1. Centos
    • 实用yum包管理工具
  2. Ubuntu
    • 使用apt包管理工具 (Advanced Package Tool:高级软件包工具)

操作基本命令详解

命令结构

command [-option] [parameter]

  • command: 命令本身
  • -option: [可选,非必填] 命令的选项
  • parameter: [可选,非必填] 命令的参数

ls 显示文件

语法:ls [-a -l -h] [路径:默认当前路径]

  • ls -a 列出全部文件,-a表述:all的意思(包含隐藏文件)
  • ls -l 以列表形式展示内容(日期、大小、文件格式等) -l表示list 列表展示更多信息
  • ls -lh h必须和l一起使用,展示列表更全面信息

cd 切换目录 (英文: Change Directory

语法:cd [参数:路径] (无需选项,只有参数)

  • cd 切换到用户目录
  • . 当前目录
  • .. 上一级目录
  • home目录

mkdir 创建文件夹 (英文: Make Directory

语法:mkdir [-p] [路径]

  • -p 自动创建不存在的父目录,创建多层目录等

touch 创建文件

语法:touch [路径]

  • 无选项

more、cat 查看文件 (无选项)

语法: more 文件

  • more、cat区别,more带翻页功能。

cp 复制文件文件夹 (英文:copy)

语法:cp [-r] 参数1 参数2

  • -r:选项 (英文recursive:递归)可以递归复制文件夹
  1. 示例:复制文件test1 名字为 文件test2
cp text1.js text2.js
  1. 示例:复制文件夹dir1 名字为文件夹dir2
cp -r dir1 dir2

mv 移动文件文件夹 (英文:move)

语法:mv [参数1] [参数2]

  • [参数1] : 原文件
  • [参数2] : 目标文件
  • 会删除原文件
  • 无选项

rm 删除文件文件夹 (英文:remove)

语法:rm [-r -f] 参数1 参数2 参数3

  • -f 表示 force, 强制删除
  • -r 英文(recursive:递归)递归删除文件夹的作用

通配符

  • 符号* 表示通配符,示列:
  • test* (test开头的内容)
  • *test (表示test结尾的内容)
  • test (表示包含test的内容)

which 查找命令 针对命令

  • 查看一系列命令的程序文件存放在哪里

语法:which 要查找的命令(command)


find 查找文件

语法:find 起始路径 -name "被查找文件名"

  • 样列:查找所有test文件
find / name "test"
  • / 从根目录依次递归查找文件
  • 也可以使用*通配符

grep 过滤(中文意思:正则)

语法:grep [-n] "关键字" 文件路径

  • 选项-n, 结果显示匹配行的行号
  • 参数,关键字:必填,表示过滤的关键字
  • 参数,文件路径:必填,表示要过滤内容的文件路径
  1. 示例:在test.txt文件中过滤是否有heima这个关键字
grep "heima" ./test.txt

展示有heima的一行


wc 数量统计

语法: wc [-c -m -l -w] 文件路径

  • 选项 -c: 统计bytes数量
  • 选项 -m: 统计字符数量
  • 选项 -l: 统计行数量
  • 选项 -w: 统计单词数量
  • 参数 文件路径,被统计的文件
  1. 示例:统计text.txt文件 不带参数
wc text.txt
  • 结果: 2 11 59 text.txt
  • 表示:2行 11个单词 59个字节

| 管道符

语法:将|左边的命令结果,作为右边命令输入

  • 实现同grep命令一样
  1. 示例:在test.txt文件中过滤是否有heima这个关键字
grep "heima" ./test.txt
或者
cat ./test.txt | grep "heima"

两者代表同一个意思

  1. 示例:查找test文件
ls | grep test

echo (中文:回声) 输出指定内容

语法:echo 输出内容

  1. 示例:在终端输出 hello linux
echo hello linux
  1. 示例:在终端输出当前目录 (变量-模版字符串包裹)
echo `pwd`

> >> 重定向符

内容:将左侧命令的结果,覆盖\追加右侧文件中

  • > 覆盖
  • >> 追加
  1. 示例: 覆盖原油text.txt文件 输入hello linux
echo hello linux > text.txt

tail (中文:尾巴) 查看内容

语法:tail [-f -num] Linux路径

  • 参数 -f 持续跟踪
  • 参数 -num 显示尾部多少行

示例: 查看text.txt尾部10行文件

tail -10 text.txt

vim编辑器

语法: vim 路径 (当前路径如果不存在,会自动创建❤️文件

  • 命令模式
    • I 当前行的开口 进入输入模式
    • A 当前行的结尾 进入输入模式
    • gg 跳到行首
    • G 跳到行尾
    • dd 删除当前行
    • yy 复制当前行
    • nyy 复制当前向下的行数
    • p 粘贴复制的内容
    • u 撤销当前更改
    • 搜索模式:/ + 搜索内容
  • 输入模式
  • 底线命令模式
    • :wq 保存并退出
    • :q 仅退出
    • :q! 强制退出(当更改时,不保存更改)
    • :w 仅保存

ps查看进程

语法:ps [-e -f] (process status : 进程状态)

  • 选项:-e:(everyone:所有)显示出全部的进程
  • 选项:-f: (full:完整) 以完全格式化的形式展示信息

用户命令

su (switch user)切换用户

语法:su [-] [用户名]

  • -符号可选:切换用户后是否加载环境变量
  • 参数:用户名 (通过exit命令退回)

sudo 命令

语法:sudo 其他命令

作用: 提升为root权限


用户组操作命令

groupadd 创建用户组

语法:groupadd 用户组名

示例:创建test的用户组

groupadd test

groupdel 删除用户组

语法:groupdel 用户组名


用户管理操作命令

useradd 创建用户

语法:useradd [-g -d] 用户名


userdel 删除用户


id 查看用户所属id