linux命令入门指南

news/2024/11/15 12:05:21/文章来源:https://www.cnblogs.com/lmlsh/p/18288666

linux命令入门指南

(个人学习所用,雷同之处请忽略)

关于linux

服务器种类

  1. 物理服务器
    需要机房(零度、无尘、无静电)--防止机器短路,数据丢失。(建造自己的机房或者进行托管)
    自己的服务器需要维护。
  2. 云服务器
    由服务器厂商提供(阿里云、腾讯云)--省钱、有人维护
  3. vmware虚拟化技术
    通过cpu的虚拟化技术,创建虚拟机服务器。
    安装虚拟机linux参考:https://www.cnblogs.com/pyyu/articles/9313587.html

linux的优势

  1. 跨平台的硬件支持
  2. 丰富的软件支持
  3. 多用户多任务
  4. 可靠的安全性(文件系统)
  5. 良好的稳定性
  6. 完善的网络功能
    img

硬件---(有效控制)---操作系统-->应用程序
img

linux的发展情况

  • Linux以高效和灵活主城,Linux同事具有多任务、多用户的能力,支持多线程,多CPU。
  • Linux包括了文本编辑器,高级语言编译器,以及图形用户界面登应用软件,当然绝大多数服务器都是使用命令行,文本模式操作Linux的。
  • Linux遵循GNU通用公共许可协议,属于自由软件,用户不需要支付费用就可以获得系统和系统源代码,无偿使用且自由传播。
  • Linux具有很高的系统稳定性和可靠性。
  • 具有很高的系统安全性
  • 众多业界厂商支持,如IBM、Oracle、Intel、HP、Google等
  • 有完善的数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等。
  • 有完善的图形化用户界面,包括GNOME、KDE等。
  • 有完善的开发平台,包括C/C++、Java、Python等。

linux发行版

Linux实际上只是定义了一个操作系统的内核,这个内核由kernel.org维护。不同的企业和组织在基础上开发了一系列的辅助软件,打包发布自己的“发行”版本。(这个发行版才叫操作系统)

  1. linux桌面程序 -- Ubuntu
  2. 服务器端linux -- Redhat(企业、收费)、CentOS(社区版、免费)
  3. 中文 -- 麒麟linux

linux和window区别

Windows:普通用户基本依靠图形界面操作,鼠标和键盘完成一切需求,上手简单容易
Linux:兼具图形界面(需要带有桌面环境的发行版Linux)和完全命令行操作,无法使用鼠标,新手入门困难,需要学习后方可使用,熟练后效率极高!

总结

  1. 操作系统是什么
    是人与计算机硬件沟通的介质

  2. 操作系统组成---鸡蛋由几部分组成

  • 蛋黄-系统内核
  • 蛋清-命令解释器shell
  • 蛋壳-应用程序
  1. Linux是一套开放源代码程序、且可以自由传播的操作系统

  2. 掌握centos/redhat能更好的适应互联网服务端开发环境

  3. 使用linux的好处是自由传播,免费,不会犯法,任意切换图形/命令终端,安全稳定,不用杀毒软件,不卡

linux文件系统

1. window对硬盘分盘,存在多个主盘。而linux是从一个原点开始。
2. window是通过反斜杠(\)做分隔符,而linux是通过斜杆(/)作为分隔符

linux目录结构

img

  • /bin:
    bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /sbin:
    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /etc:
    这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /lib:
    这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /tmp:
    这个目录是用来存放一些临时文件的。

  • /opt:(第三方软件存放目录)
    这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /var:
    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /sys:
    这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

  • /selinux:
    这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /usr:
    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:
    系统用户使用的应用程序。

  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。

  • /media:
    linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

用户目录

/root:
该目录为系统管理员,也称作超级权限者的用户主目录。

/用户名:
普通用户文件主目录。

linux用户系统

熟悉普通的命令

  1. ssh + 登录用户 + @ip 进行ssh隧道连接
    输入密码可以成功连接
    img

直到看到上次登录时间和欢迎词时登录成功。
在服务器命令行当中:
掌握普通用户登录后系统的提示符:$
掌握root用户登录后系统的提示符:#

  1. 查看终端情况
    tty 查看当前终端
    who am i 仅显示当前用户正在使用的终端和登录时间
    w 查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)

终端情况

ssh连接在linux当中的配置文件

  • 配置文件位置:/etc/ssh/sshd_config
  • 通过次命令查看配置 grep -v '^#' /etc/ssh/sshd_config | grep -v '^$' -- grep管道符进行筛选、-v表示将筛选结果倒置(将筛出来的东西排除)、'^#' 所有#开头的注释,'^$'所有空行。
    img
  • 其中PasswordAuthentication yes表示ssh隧道允许使用密码登录。

linux目录文件操作

linux命令手册

对文件夹的操作

命令 描述 备注
ls + 路径 展示目录下的文件文件夹
mkdir +文件名 创建文件夹
mv + 文件/文件夹路径 + 文件名/路径 文件夹重命名 当为路径时也可以进行文件移动
rm -rf 删除文件或者文件夹 -r无需确定进行删除、-f递归删除
rmdir 删除空文件夹 对空文件夹进行删除

对文件的操作

命令 描述 备注
ls + 路径 展示目录下的文件文件夹
touch +文件名 创建文件
mv + 文件/文件夹路径 + 文件名/路径 文件夹重命名 当为路径时也可以进行文件移动
rm -rf 删除文件或者文件夹 -r无需确定进行删除、-f递归删除

通用命令

  1. 修改文件的修改时间

    touch -t '07101530' 1.txt --将1.txt的文件修改时间修改为07月10日15:30

  2. 控制台输出和写入文件

    echo '字符串' --将某字符串输出在终端
    echo '字符串' >> 1.txt -- 将某字符串写入文件1.txt

  3. 特殊符号

    • '>>' 追加重定向,将文本写入文件末尾
    • '>' 重定向符号,清空原来文件内容,然后进行覆盖写入
    • '<' 输入重定向
    • '<<' 将输入结果输入重定向
      给几个例子
      img
      img

注意:wc -l为统计行数,< 可以将文件内容作为输入。

  1. stat [参数] 文件

    显示文件或文件系统状态

    出现的结果如下例子:
    img
    解释如下:

    [root@master tmp]# stat 1.txt
    File: '1.txt'
    Size: 0             Blocks: 0          IO Block: 4096   regular empty file
    Device: fd00h/64768d    Inode: 17348002    Links: 1
    (权限)Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    (最近访问)Access: 2018-07-10 15:30:00.000000000 +0800
    (最近更改)Modify: 2018-07-10 15:30:00.000000000 +0800
    (最近改动)Change: 2018-11-07 15:38:36.400989868 +0800
    Birth: -
    

    相关参数如下:

    • -L, --dereference 跟随链接

    • -f, --file-system 显示文件系统状态而非文件状态

    • -c --format=格式 使用指定输出格式代替默认值,每用一次指定格式换一新行

      --printf=格式 类似 --format,但是会解释反斜杠转义符,不使用换行作输出结尾。如果您仍希望使用换行,可以在格式中加入"\n"

    • -t,

      --terse 使用简洁格式输出

      --help 显示此帮助信息并退出

      --version 显示版本信息并退出

    • 格式化输出参数:

    %a 八进制权限

    %A 用可读性较好的方式输出权限

    例如:

    img

  2. cat、more命令

    查看文件:
    cat:内容较少
    more:内容较多

    #查看文件,显示行号
    cat -n xxx.py
    #猫,查看文件
    cat xxx.py#在每一行的结尾加上$符
    [root@master tmp]# cat -E 1.txt#追加文字到文件
    cat >>/tmp/oldboy.txt << EOF
    唧唧复唧唧
    木兰开飞机
    开的什么机
    波音747
    EOFmore /etc/passwd
    按下空格space是翻页
    按下b键是上一页
    回车键向下读取内容
    
  3. find 命令

    Linux里如何找到需要的文件 例如 oldboy.py

    输入格式:

    find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)

    参数

    • -name 按照文件名查找文件
    • -type 查找某一类型的文件,诸如:
    • b - 块设备文件。
    • d - 目录。
    • c - 字符设备文件。
    • p - 管道文件。
    • l - 符号链接文件。
    • f - 普通文件。
    • s - socket文件

    例子:

    find /tmp/ -type f  -name "oldboy.py"#找出/tmp所有以 .txt 结尾的文件
    find /tmp/ -type f -name "*.txt"#找到/etc下所有名字以host开头的文件
    find /etc -name 'host*'#找到/opt上一个名为settings.py
    find /opt -name 'settings.py'
    
  4. grep 命令

  • 语法:
    grep [参数] [--color=auto] [字符串] filename

  • 参数:

    • -i : 忽略大小写
    • -n : 输出行号
    • -v : 反向选择
    • --color = auto : 给关键词部分添加颜色

    img

  1. 管道符与grep配合快速搜索
  • 语法:
    命令A | 命令B

    常见用法:
    #检查python程序是否启动
    ps -ef|grep "python"#找到/tmp目录下所有txt文件
    ls /tmp|grep '.txt'#检查nginx的端口是否存活
    netstat -tunlp |grep nginx
    

    img

  1. head、tail命令

    查找头几行或者尾几行,
    可以用来看持续更新的文件

    #查看前两行
    head -2 /tmp/oldboy.txt
    #查看后两行
    tail -2 /tmp/oldboy.txt
    #持续刷新显示
    tail -f xx.log#显示文件10-30行
    head -30 /tmp/oldboy.txt |tail -21
    
  2. 别名alias

    Linux如何提示你,在使用rm、cp、mv这些命令时候,提醒你小心呢?
    答案就是alias命令

    alias就可以设置别名,在你进行某些设置的命令时->先走别名的定义->再进行某些命令的操作

    举例如下:

    # 查看所有有别名的命令
    [root@iZ2zefuxklg0ufrapu0xnpZ tmp]# alias
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'# 设置新别名以阻止危险操作
    [root@iZ2zefuxklg0ufrapu0xnpZ ~]# alias rm='echo do not use rm'
    [root@iZ2zefuxklg0ufrapu0xnpZ ~]# alias
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='echo do not use rm'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    [root@iZ2zefuxklg0ufrapu0xnpZ ~]# cd /tmp/
    [root@iZ2zefuxklg0ufrapu0xnpZ tmp]# ls
    a  c  oldboy
    [root@iZ2zefuxklg0ufrapu0xnpZ tmp]# rm -r a
    do not use rm -r a
    [root@iZ2zefuxklg0ufrapu0xnpZ tmp]# ls
    a  c  oldboy
    # 取消别名
    unalias rm
    
    • 注意,此时设置的别名不会永久生效,需要设置配置文件
    #设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
    vim /etc/profile #编辑文件
    G  # 快速到达最后一行
    o  # 当前行下一行,创建一个新行,进入编辑模式
    # 加入两行
    alias rm="echo do not use rm"
    source /etc/profile #读取文件(合同生效)# 退出重启后别名仍然成立
    
  3. which命令

    查找命令是否存在环境变量,或者存在在那个环境变量里面

    • 注意与find区分

    例:
    img

  4. scp命令

    远程拷贝文件

    和cp命令几乎一模一样,只是它是拷贝远程的文件。

    img

  5. du命令

    显示文件大小

  • 语法
    du 【参数】【文件或目录】

    -s 显示总计

    -h 以k,M,G为单位显示,可读性强
    img

  1. top命令

    任务管理器

    使用top之后调出系统情况:包括以下内容
    img
    解释如下:

    第一行 (uptime)系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载第二行:进程信息进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数第三行:cpu信息1.5 us:用户空间所占CPU百分比0.9 sy:内核空间占用CPU百分比0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比97.5 id:空闲CPU百分比0.2 wa:等待输入输出的CPU时间百分比0.0 hi:硬件CPU中断占用百分比0.0 si:软中断占用百分比0.0 st:虚拟机占用百分比第四行:内存信息(与第五行的信息类似与free命令)8053444 total:物理内存总量7779224 used:已使用的内存总量274220 free:空闲的内存总量(free+used=total)359212 buffers:用作内核缓存的内存量第五行:swap信息8265724 total:交换分区总量33840 used:已使用的交换分区总量8231884 free:空闲交换区总量4358088 cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
    
  2. lsattr和chattr命令

    如何让root都删不掉你的文件 ->
    给他加锁

    • lsattr 查看有没有锁
    • chattr +某个参数 加锁
    • chattr -某个参数 解锁

    例:
    img

  3. 时间命令

    进行时间同步,保证机器时间与云端时间服务器相同

    相关命令:

        # 查看硬件时间hwclock# 查看系统时间date# 与阿里云的时间服务器同步ntp -u ntp.aliyun.com[root@localhost ~]# dateThu Jul 11 00:31:17 CST 2024[root@localhost ~]# hwclockThu 11 Jul 2024 12:31:46 AM CST  -0.993494 seconds[root@localhost ~]# ntpdate -u ntp.aliyun.com11 Jul 00:32:28 ntpdate[10203]: step time server 203.107.6.88 offset 0.870400 sec
    
  4. 日期命令

    查看日历

    -y参数 查看一年的日历

        [root@localhost ~]# calJuly 2024     Su Mo Tu We Th Fr Sa1  2  3  4  5  67  8  9 10 11 12 1314 15 16 17 18 19 2021 22 23 24 25 26 2728 29 30 31[root@localhost ~]# cal -y……
  5. wget命令

    对网页发get和post请求,详情参考命令手册。

    • window和linux互传:

      lrzsz工具。(通过yum安装)

      sz(向window发送文件)
      rz(从linux接受文件)

    例子如下:
    img

    还可以通过拖拽的方式拉入linux(xshell)
    img

其他命令

命令 描述 备注
pwd 显示当前路径 显示目前自己在哪
clear 清屏
cd + 路径 切换目录 表示自己要去哪
  • ls有许多常用的参数:
    -a --显示指定目录下所有子目录和文件(包括隐藏)、
    -l --以列表的形式显示详细信息(大小、权限信息)
    -h --配合-l以更人性化的方式显示文件大小

  • mkdir 可以通过-p参数进行递归创建,{}包含的文件名可以在同级创建
    img

参考链接:https://www.cnblogs.com/pyyu/p/9276851.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/745512.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块

1.算法仿真效果 本程序系统是《m基于FPGA的MSK调制解调系统verilog开发,并带FPGA误码检测模块和matlab仿真程序》的的升级。升级前原文链接增加了完整的AWGN信道模型的FPGA实现,可以在testbench里面设置SNR,分析不同SNR对应的FPGA误码率情况。vivado2019.2仿真结果如下(完整…

【总结】逻辑运算在Z3中运用+CTF习题

国际赛IrisCTF在前几天举办,遇到了一道有意思的题目,特来总结。题目并不是很难,没有复杂的ollvm混淆也没有复杂的加密,但是却一步一步引导我们去学习和总结。国际赛IrisCTF在前几天举办,遇到了一道有意思的题目,特来总结。题目附件如下:📎babyrevjohnson.tar 解题过程…

在Python中使用SWCNN去除水印

在Python中使用SWCNN去除水印 说明首次发表日期:2024-07-17 SWCNN Github官方仓库: https://github.com/hellloxiaotian/SWCNN SWCNN 论文链接: https://arxiv.org/abs/2403.05807准备 运行环境 首先创建一个conda环境,安装SWCNN官方建议的库: conda create -n py39torch …

Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍

NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序访问的应用,也适用于随机访问的应用,同时结合外部存储器(比如DDR),使得Host端的数据访问管理更加灵活。NVMe A…

请问如何将带有斜纹水印pdf的转成Excel呢?

大家好,我是Python进阶者。 一、前言 前几天在Python最强王者交流群【wen】问了一个Python自动化办公的问题,问题如下:请问如何将带有斜纹水印pdf的转成Excel呢?目前我把pdf转成图片,根据水印的颜色进行清除,但是在脱网环境下无法将图片转成Excel。 二、实现过程 后来【隔…

并发问题的三大根源是什么?

本文探讨了在多线程环境下,CPU缓存、线程切换以及编译优化如何影响数据的可见性、原子性和有序性,并提出了相应的解决方案。在单核CPU时代,所有线程共享同一缓存,确保了数据的一致性。然而,多核CPU下,各核心拥有独立缓存,可能导致线程间数据更新不可见。1.前言 从进程与…

判断语句

判断语句 猜猜心里数字:n=6 if int(input("第一次输入数字"))==n:print("猜对了") elif int(input("第二次输入数字"))==n:print("第二次猜对了") elif int(input("第三次输入数字"))==n:print("第三次对了") el…

nacos RCE

1.漏洞原理 漏洞的核心在于 Nacos 的某些接口没有严格的权限控制,攻击者可以通过通过特定的 JSON 数据结构,远程执行恶意代码。以利用该漏洞读取敏感文件、执行系统命令。 条件:需要登录后才能利用漏洞 2.影响版本 nacos 2.3.2 nacos 2.4.0 3.环境搭建 https://github.com/a…

DataFountain-个贷违约预测实战

赛题来源:Datafountain 个贷违约预测 竞赛 - DataFountain 参考优秀选手方法单模走天下:公布一个单模型精度达0.9014(B榜第8)的算法 数据科学社区-DataFountain并加入自己理解整理如下:赛题理解 题目给出了train_internet.csv、train_public.csv、test_public.csv、submit_e…

数据仓库建模工具之一——Hive学习第三天

1、Hive的基本操作 1.1 Hive库操作 1.1.1 创建数据库1)创建一个数据库,数据库在HDFS上的默认存储路径是/hive/warehouse/*.db。create database testdb;2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法)-- 中括号表示可以省略的内容 create database…

Datawhale AI 夏令营——电力需求挑战赛——Task2学习笔记

一、实先准备import numpy as np import pandas as pd import lightgbm as lgb from sklearn.metrics import mean_squared_log_error, mean_absolute_error, mean_squared_error import tqdm import sys import os import gc import argparse import warnings warnings.filter…