• Linux基础命令(示例代码 + 解释)


    稍微下拉,左端目录栏检索命令

    查看目录下文件  ls

    ls [-a -l -h] [路径]                     -a(全部)     -l(细节)     -h(大小)

    1. ls
    2. ls /
    3. ls -a
    4. ls -l
    5. ls -h
    6. ls -alh
    7. ls -l -h -a
    8. ls -lah /

    切换目录  cd

    cd [路径]             change directory

    . 当前目录       .. 上一级目录      ~ HOME目录 

    1. cd /
    2. cd
    3. cd ..
    4. cd ~
    5. cd ~/Desktop 等价于 cd /home/itheima/Desktop
    6. cd ../..
    7. cd Desktop
    8. cd ./Desktop
    9. cd ../test/hello.txt

    打印当前路径  pwd

    pwd         print work deirectory

    pwd

    创建目录(文件夹)  mkdir

    mkdir [-p] Linux路径               make directory

    -p 创建不存在的父目录,适用于创建连续多层级的目录

    1. ls
    2. mkdir itheima
    3. ls
    4. mkdir /home/itheima/test
    5. ls
    6. mkdir ./test2
    7. ls
    8. mkdir ~/test4
    9. ls
    10. mkdir -p itcast/good/666
    11. cd itcast/good/666
    12. pwd

    问:Centos里,/root和/home/itheima有什么区别,为什么/root下无法用mkdir创建目录,而/home/itheima可以?

    在CentOS系统中,/root 和 /home/itheima 都是目录路径,但在系统中的用途有所不同。

    • /root 目录是Linux系统中超级用户(root用户)的主目录,也就是root用户的家目录。这个目录只有超级用户才有写权限,普通用户无法在该目录下创建新的文件夹或文件。

    • /home/itheima 目录是普通用户 "itheima" 的主目录,这个目录是用来存储普通用户的个人数据的,包括文档、图片、视频等等。普通用户可以在该目录下创建新的文件夹或文件,但是无法更改其他用户的主目录。

    因此,/root 和 /home/itheima 的权限和用途是不同的。对于/root目录,只有超级用户才能访问和操作;而对于/home/itheima目录,则是普通用户的专属目录,普通用户对其有写权限

    创建文件  touch

    touch Linux路径

    1. ls
    2. touch test.txt
    3. ls

    查看文件内容  cat

    cat Linux路径

    1. ls
    2. cat test.txt

    more Linux路径

    more支持翻页,文件内容过多,可以一页页展示 

    复制文件  cp

    cp [-r] 参数1 参数2                    copy

    -r 复制文件夹使用,表示递归

    参数1        Linux路径         被复制的文件

    参数2        Linux路径         复制到的文件

    1. ls
    2. cp test.txt test2.txt
    3. cat test2.txt
    4. cp -r itheima itheima2
    5. ls

    移动文件  mv

    mv 参数1 参数2              move

    参数1              Linux路径               移动的文件(夹)

    参数2              Linux路径               移动到的地方   如果目标不存在,则进行改名,确保存在

    1. ls
    2. mv test.txt Desktop
    3. ls Desktop
    4. mv test2.txt test3.txt
    5. ls
    6. ls
    7. mv test2 Desktop
    8. ls Desktop

    删除文件  rm

    rm [-r -f] 参数1 参数2 ... 参数N           remove

    同cp,-r 用于删除文件夹

    -f 表示 force,强制删除(不弹出提示确认信息)

    -- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会提示

    -- 所以普通用户用不到 -f 选项

    参数1 ~ N 表示要删除的路径,空格分隔

    1. ls
    2. rm test3.txt
    3. (y确认 n取消)
    4. ls
    5. ls
    6. rm -r test3
    7. ls
    8. rm -r test4 itheima itheima2 itcast
    9. ls

     rm 命令支持 * 表示通配符

    test*  表示test开头的内容

    *test  表示test结尾的内容

    *test*  表示任何包含test的内容

    1. ls
    2. rm -r test*
    3. ls
    4. touch 1test
    5. touch 2test
    6. touch 3test
    7. rm -f *test
    8. ls
    9. touch 1test2
    10. touch 2test3
    11. touch 3test4
    12. ls
    13. rm -f *test*
    14. ls

     通过 su - root

    查找命令所在文件  which

    Linux命令,本质就是二进制可执行程序,类似Windows的.exe文件。

    which 命令

    1. which cd
    2. which pwd
    3. which ...

    查找指定文件  find

    (1)find 起始路径 -name "被查找文件名"

    1. find / -name "test"
    2. find / -name "test*"
    3. find / -name "*test"
    4. find / -name "*test*"

    (2)find 起始路径 -size +/- n[kMG]

    + / - 表示大于 / 小于

    n 表示大小的数字

    kMG 表示大小的单位,k表示kb,M表示MB,G表示GB

    1. find / -size -1k
    2. find / -size +1G
    3. find / -size +100M
    4. ls -lh /usr/lib/locale/locale-archive

    👆ctrl + c 强制中断搜索

    过滤文件内容  grep

    grep [-n] 关键字 路径

    提示:当不写路径时,可用管道符左边命令所产生的内容,作为内容的输入 

    -n,显示被匹配内容的行号

    参数,关键字,表示过滤的关键字,带有空格或其他特殊符号,一般用""包起来

    参数,路径,可作为内容输入端口

    finalshell,~目录下,touch test.txt

    然后Centos7图形化界面中,打开home文件夹,在test.txt中添加内容👇

    1. itheima is shabi.
    2. itcast code is 003032
    1. cat test.txt
    2. grep "itheima" test.txt
    3. grep "itcast" test.txt
    4. grep -n "code" test.txt

    统计内容数量  wc

    wc [-c -m -l -w] 路径

    提示:当不写路径时,可用管道符左边命令所产生的内容,作为内容的输入 

    -c     bytes数量

    -m    字符数量

    -l      行数

    -w    单词数量

    参数,路径,可作为内容输入端口

    1. wc test.txt
    2. wc -c test.txt
    3. wc -m test.txt
    4. wc -l test.txt
    5. wc -w test.txt

    管道符  |

    shift + | 即可输出 |

    管道符左边命令的结果,作为右边命令的输入

    只要能产生内容输出的命令,都可以放管道符左边,作为右边命令的输入

    1. cat test.txt | grep itheima
    2. cat test.txt | wc -l
    3. ls | grep test
    4. ls /usr/bin
    5. ls /usr/bin | grep gtf
    6. ls -l /usr/bin | grep gtf
    7. ls -l /usr/bin | wc -l
    8. cat test.txt | grep itcast
    9. cat test.txt | grep itcast | grep code
    10. cat test.txt | grep itcast | wc -l
    11. cat test.txt | grep itheima | wc -w

    输出内容  echo

    echo 输出的内容

    带有空格或 \ 等特殊符号,建议用 "" 包起来,防止空格后被识别为参数

    1. echo Hello World
    2. echo "Hello World"

    反引号  ` `

    ``  被 `` 包围的内容,作为命令执行,而非普通字符

    1. echo pwd
    2. echo `pwd`

    重定向符  >  >>

    >            左侧命令结果,覆盖右侧文件

    >>          左侧命令结果,追加到右侧文件

    只要能产生内容的命令,都能往重定向符右侧写

    1. ls
    2. cat test.txt
    3. echo "hello linux" > test.txt
    4. cat test.txt
    5. echo "sha bi ni shi" >> test.txt
    6. cat test.txt
    7. ls
    8. ls > test.txt
    9. cat test.txt

    查看文件尾部  tail

    tail [-f -num] 路径

    -f,表示持续跟踪,此时复制标签,新开一个centos,追加到文件的内容会实时显示,ctrl + c停止跟踪

    -num,表示查看尾部多少行,默认10行,num是具体数字

    1. ls
    2. ls > test.txt
    3. ls / >> test.txt
    4. cat test.txt
    5. tail test.txt
    6. tail -f test.txt
    7. (新开一个centos)----
    8. echo "hello shabi"
    9. ----
    10. (ctrl + c)
    11. tail -3 test.txt
    12. echo "我当前的工作目录是:"`pwd` > work.txt
    13. cat work.txt
    14. echo "我当前的工作目录是:`pwd`">> work.txt
    15. cat work.txt
    16. tail -f work.txt
    17. echo "sha bi zai na li" >> work.txt
    18. ...

    vi / vim 编辑器

    vi 路径

    OR

    vim 路径

    文件不存在会编辑新文件,存在则编辑已有文件 

    Linux系统中的编辑器,类似于图形界面中的文本编辑器(比如记事本)

    vim 是 vi 的加强版本,兼容 vi 所有指令,且具有 shell 程序编辑的功能,提供不同颜色字体

    三种工作模式

    (1)命令模式(Command mode)

    键盘上敲的按键,作为命令,不能自由进行文本编辑(比如连按2下d删除一行)

    (2)输入模式(Insert mode)

    所谓的 编辑模式,插入模式,可对文本自由编辑(敲的字符串会在屏幕显示)

    (3)底线命令模式(Last line mode)

    以 : 开始,用于文件保存,退出

     命令模式作为中转

    1. vim hello.txt
    2. 进入命令模式
    3. 按 i 键进入输入模式
    4. 输入:itheima and itcast.
    5. 按 esc 键回到命令模式
    6. (输入模式下,通过键盘快捷键,修改文件内容)
    7. 按yyp复制多一行
    8. dd删除一行
    9. 按u撤销一步
    10. 命令模式下按 : 进入底线命令模式
    11. w 保存 q 退出
    12. :wq (回车) 保存并退出
    13. ls
    14. cat hello.txt

    (1)

    (2)

    (3)

    (4)

    切换用户  su

    su

    sudo

    1. [itheima@localhost /]$ mkdir jiujiu
    2. mkdir: cannot create directory ‘jiujiu’: Permission denied

    普通用户 itheima 的权限,只能在自己目录下创建文件夹,无法在其他目录下创建,除非切换到root权限👇

    用户组 and 用户

    Linux权限管控的单元,是用户级别和用户组级别

    groupadd 用户组名                     创建

    groupdel 用户组名                      删除

    useradd [-g -d] 用户名            创建

    -g指定组,不指定-g,则创建同名组加入

    -d指定用户HOME路径,不指定则默认HOME目录在 /home/用户名

    1. useradd test
    2. id test
    3. cd /home
    4. ll
    5. useradd test2 -g itcast -d /home/test222
    6. su -test2
    7. pwd

    userdel [-r] 用户名                  删除

    -r删除用户HOME目录

    1. logout
    2. userdel test2
    3. cd /home
    4. ls
    5. rm -rf test222
    6. ls
    7. userdel -r test
    8. ls

    id [用户名]                               查看所属组

    1. id
    2. useradd test3 -g itcast
    3. su - test3
    4. id
    5. exit
    6. id test3

    usermod -aG 用户组名 用户名          修改所属组

    1. useradd test4
    2. id test4
    3. usermod -aG itcast test4
    4. id test4

    getent passwd    查看所有用户

    共7份信息:

    用户名 : 密码(x) : 用户ID : 组ID : 描述信息(无用) : HOME目录 : 执行终端(默认bash)

    getent group    查看所有用户组

    共3份信息:

    组名称 : 组认证(x) : 组ID

    权限控制信息

    修改权限  chmod  chown

    (1)chmod [-R]  权限  文件(夹)路径

    -R,对文件夹内全部内容进行同样操作

    1. ls -l
    2. su itheima
    3. mkdir test1
    4. touch test1.txt
    5. chmod u=rwx,g=r,o=w test1.txt
    6. ls -l
    7. mv test1.txt test1
    8. ls test1
    9. chmod u=r,g=w,o=x test1
    10. ls -l
    11. chmod -R u=rwx,g=rwx,o=rwx test1
    12. ls -l
    13. ls -l test1

    1. su itheima
    2. touch 1.txt
    3. ls -l
    4. chmod 751 1.txt
    5. ls -l

    (2)chown [-R] [用户][:][用户组] 文件(夹)

    此命令只适用于 root

    -R ,同 chmod,对文件夹内全部内容进行相同修改

    : 用于分隔用户和用户组

    1. chown root 1.txt
    2. su root
    3. ls -l
    4. chown root 1.txt
    5. ls -l
    6. chown itheima 1.txt
    7. ls -l
    8. chown :root 1.txt
    9. ls -l
    10. chown :itheima 1.txt
    11. ls -l
    12. chown root:root 1.txt
    13. ls -l
    14. chown -R root:root test1
    15. ls -l
    16. ls -l test1

    强制停止  

    退出/登出

    历史命令  history

    history | grep ch

    匹配前缀

    3~5个命令之内,尽量不要太久

    光标移动

    软件安装  yum

    yum:RPM包软件管理器,用于自动化那幢配置Linux软件,并自动解决依赖问题。

    (后缀 .rpm自动安装包)

    yum  [-y]  [install | remove | search]  软件名称

    -y ,自动确认,无需手动确认安装 或 卸载

    install 安装

    remove 卸载

    search 搜索

    (yum需要root权限,su切换到root,或sudo提升权限)

    (yum需要联网)

    Ubuntu软件安装  apt

    apt [-y]  [install | remove | search]  软件名称

    CentOS使用yum管理器,Ubuntu使用apt管理器,apt用法同yum

    就是....WSL里Ubuntu,下wget,真的比虚拟机CentOS里快多了....

    systemctl命令

    systemctl  start | stop | status | enable | disable  服务名

    Linux系统很多软件(内置第三方),支持systemctl命令启动

    控制系统内置的服务

    1. systemctl status firewalld
    2. systemctl start firewalld
    3. systemctl enable firewalld

    创建软连接  ln

    ln  -s  参数1  参数2

    系统中创建软连接,将文件(夹)链接到其他位置

    类似Windows系统中的快捷方式

    -s  ,创建软连接

    参数1,被链接的

    参数2,链接目的地

    1. cd /etc
    2. ls
    3. pwd
    4. cd
    5. ls
    6. ln -s /etc/yum.conf ~/yum.conf
    7. ls -l
    8. cd /etc
    9. ls
    10. ln -s /etc/yum ~/yum
    11. ls -l
    12. cat /etc/yum.conf
    13. cat yum.conf
    14. cd /etc/yum
    15. ls -l
    16. cd
    17. cd yum
    18. ls

    查看时间  date

    date [-d] [+格式化字符串]

    date命令,查看系统时间

    -d ,按照给定字符串显示日期,用于日期计算

    %Y  年

    %y  年份后2位数字(00...99)

    %M  月份(01...12)

    %d  日(01...31)

    %H  小时(00...23)

    %M  分钟(00...59)

    %S  秒(00...60)

    %s   自1970-01-01 00:00:00到现在的秒数

    1. su itheima
    2. date
    3. date +%Y-%m-%d
    4. date +%Y-%m-%d %H:%M:%S
    5. date "+%Y-%m-%d %H:%M:%S"
    1. date -d "+1 day"
    2. date -d "+1 day" +%Y%m%d
    3. date -d "-1 week" +%Y/%m/%d

    查看ip地址  ifconfig

    ifconfig

    修改主机名

    域名解析

    通过,配置主机名与 ip 地址的映射关系,不用再记那么长的域名和 ip地址

    管理员打开记事本,hosts文件的位置,   在最后添加

    192.168....130 centos

    保存即可

    Linux固定 ip 地址

    第四章-07-配置Linux固定IP地址_哔哩哔哩_bilibili

    检查联通  ping

    ping  [-c num]  ip或主机名

    -c ,检查次数,不用 -c 会无限次持续检查

    1. ping baidu.com
    2. ping -c 2 baidu.com
    3. ping -c 3 39.156.66.10
    4. ping 192.168.88.5

    下载网络文件  wget  curl

    (1)wget  [-b]  url

    -b ,后天下载,并将日志写入当前工作目录的 wget-log 文件

    url ,下载链接

    1. yum install wget
    2. wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
    3. ctrl c
    4. ls
    5. rm -f hadoop-3.3.0.tar.gz
    6. ls

    (2)发起网络请求

    curl  [-O]  url

    curl url 类似打开网页

    -O ,用于下载文件,url是下载链接时,可以保存文件

    url ,发起请求的网络地址

    1. curl cip.cc
    2. curl python.itheima.com
    3. curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

    查看端口占用情况

    (ip 只能确定计算机,通过 端口 才能确定要交互的程序)

    nmap  ip地址

    1. yum -y install nmap
    2. nmap 127.0.0.1

    netstat -anp | grep 端口号                  (查看指定端口占用情况)

    1. yum -y install net-tools
    2. netstat -anp
    3. netstat -anp | grep 22
    4. netstat -anp | grep 111
    5. netstat -anp | grep 580
    6. netstat -anp | grep 761
    7. netstat -anp | grep 12345

    查看进程  ps

    ps  [-e  -f]

    -e ,显示全部

    -f ,格式化形式显示

    ps -ef ,列出全部进程全部信息

    1. 两个终端
    2. tail
    3. ps -ef | grep tail

    关闭进程  kill

    kill  [-9]  进程ID

    -9 ,强制关闭进程,是否关闭要看进程自身的处理机制

    1. ps -ef | grep tail
    2. kill -9 23906
    3. ps -ef | grep tail

    查看系统资源占用  top

    top

    查看CPU,内存占用,类似Windows任务管理器

    默认3秒刷新1次,ctrl + c  或  直接 q 退出

    1. top -p 1
    2. top -p 2
    3. top -d 3
    4. top -c
    5. top -n 3
    6. top -b -n 3 > 1.txt
    7. more 1.txt
    8. top -i
    9. top -u itheima

    磁盘信息

    (1)df  [-h]

    -h ,更人性化的单位

    (2)iostat  [-x]  [num1]  [num2]

    -x ,显示更多信息

    num1 ,数字,刷新间隔;num2,数字,刷新次数

    1. yum install sysstat
    2. iostat
    3. iostat -x
    4. iostat 3 3
    5. iostat -x 1

    网络状态监控

    sar  -n  DEV  num1  num2

    -n ,查看网络,DEV 表示查看网络接口

    num1,刷新间隔;num2,刷新次数

    1. sar -n DEV
    2. sar -n DEV 3 3

    环境变量

    比较危险,不要乱搞

    第四章-12-环境变量_哔哩哔哩_bilibili

    文件下载上传  rz  sz

    大文件最好拖拽,不要用rz,rz较慢

    压缩与解压

    (1)tar 命令压缩

    tar  [-c -v -x -f -z -C]  参数1  参数2  ...  参数N

    -c ,创建压缩文件,用于压缩模式

    -v ,显示过程,查看进度

    -x ,解压模式

    -f ,要创建 / 解压的文件,-f 必须放最后

    -z ,gzip模式,不使用就是普通的 tarball 格式

    -C ,解压目的地,用于解压模式

    1. touch 2.txt
    2. touch 3.txt
    3. ls -lh
    4. tar -cvf test.tar 1.txt 2.txt 3.txt
    5. ls -lh
    6. tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
    7. ls -lh
    8. rm -f 1.txt 2.txt 3.txt

    gzip显示 5 k(压缩效果),tarball显示 120 k(简单打包)

    (2)tar 命令解压

    1. tar -xvf test.tar
    2. ls -lh
    3. rm -f 1.txt 2.txt 3.txt
    4. tar -zxvf test.tar.gz
    5. ls
    6. mkdir test
    7. ls
    8. tar -zxvf test.tar.gz -C test/
    9. cd test
    10. ls

    (3)zip

    zip  [-r]  参数1  ...  参数N

    -r ,被压缩的包含文件夹,类似 rm, cp 等命令的 -r

    解压时,有同名内容会被替换

  • 相关阅读:
    山石网科国产化防火墙,打造全方位边界安全解决方案
    edu 137 D(妙蛙)
    Java学习笔记3.10.3 异常处理 - 抛出异常
    Vue学习:理解数据代理
    【华为机试真题 JAVA】分班问题-100
    说一说 Backscatter communication
    Linux系统编程学习 NO.8 ——make和Makefile、进度条程序
    安卓文件选择插件
    15 Go的并发
    数据仓库与数据挖掘
  • 原文地址:https://blog.csdn.net/csdner250/article/details/132655934