Linux常用命令总结 linux基本命令总结

   2023-02-09 学习力0
核心提示:端口防火墙相关开放指定端口:firewall-cmd --zone=public --add-port=5601/tcp --permanent开启/重启防火墙:systemctl start firewalldfirewall-cmd --reload查看端口号:netstat -ntlp #查看当前所有tcp端口·netstat -ntulp |grep 1935 #查看所有1935端口

端口防火墙相关

开放指定端口:

firewall-cmd --zone=public --add-port=5601/tcp --permanent

开启/重启防火墙:

systemctl start firewalld
firewall-cmd --reload

查看端口号:

netstat -ntlp   #查看当前所有tcp端口·

netstat -ntulp |grep 1935   #查看所有1935端口使用情况·

1、基本属性:

查看文件属性

1、$ll 或者 ls -l $

2、例如在以下图片中:

  • # 代表是root用户 **$ **表示其他用户

  • 文件的第一个属性用$d$表示,$d$ 代表该文件是一个目录文件

    • 当为[d]则是目录
    • 当为[-]则是文件
    • 当为[l]则表示为链接文档
      • 链接:软链接和硬链接 命令 $ln -s 源文件名 链接文件名$(不加-s为硬链接)
  • 接下来的字符中,以三个为一组,且均为[rwx]的参数组合(read可读、write可写、execute可访问)

    • 这三个权限的位置不会改变,如果没有权限,就会出现减号[-]代替
    • 从左至右用0-9这些数字来表示

修改文件属性

  • chgrp:更改文件属主
    • chgrp【-R】属组名 文件名
      • 【-R】 递归更改文件属组,就是该目录所有文件都会更改
    • chown:更改文件属主,也可以同时更改文件属组
      • chown【-R】 属主名 文件名
      • chown【-R】 属主名:属组名 文件名
    • chmod【-R】:更改文件9个属性
      • chmod【-R】xyz 文件或目录
  • Linux文件属性有两种设置方法,一种是数字,一种是符号
  • Linux文件的基本权限就有九个,分别是owner/group/others三种身份各自有自己的read/write/execute权限

小结

  • 每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的:各自分数为:r:4 w:2 x:1
    • 例如当权限为:[-rwxrw-r--]分数为(二进制相加):764
      • owner = rwx = 4+2+1 = 7
      • group = rw- = 4+2+0 = 6
      • others = r-- = 4+0+0 = 4

2、文本操作

文本的复制与粘贴

  • 命令模式下的文本复制(复制+粘贴)
    • yw:将光标所在位置到字尾的字符复制到缓冲区。
    • nyw:将从光标所在位置开始的n个字复制到缓冲区。
    • yy:将光标所在的行复制到缓冲区。
    • nyy:将光标所在的行开始连续n行复制到缓冲区。
    • p:将缓冲区的字符粘贴到光标所在位置。
  • 末行模式下的文本复制
  • $:行x,行y co 行z$
    • 即将文本x-y行的内容,复制到z行下。例如:
      • :1, 4 co 5
      • 当前编辑的文件1-4行复制到5行下,即原来文件内容新增了4行。
  • 寄存器操作
    • 自定义寄存器
      • 从当前光标复制n行到指定寄存器a下:命令模式下:输入["anyy]

3、shell编程

  • shell基础

    • 标准输入(stdin) 编号为0
      • 输入重定向 wc < /etc/passwd 命令解释:表示读取用户的密码文件的行数、字符数、字节数
    • 标准输出(stdout) 编号为1
      • 输出重定向ls > ls.out :将当前目录下所有文件名输出到ls.out文件
      • 输出重定向追加>> command [参数] >> 文件名 wc < /etc/passwd >> ls.out
    • 标准错误(stderr) 编号为2
    • 管道 |
    • 特殊字符
      • 引号
        • 单引号 '' 表示普通字符串
        • 双引号 """ $、\、'、" "几个特殊字符保留特殊功能外,其余都为普通字符串
        • 反引号 (``) 被反引号括起来的命令
      • 注释符
        • # 开头的正文行表示注释行
    • 别名
      • alias alias-name = 'original-command' 可以简写命令
      • unalias alias-name 取消别名
    • 命令历史
      • history 显示机器的历史命令
      • !历史命令编号 即可执行历史命令
  • shell脚本

    • 执行方式
      • ./shell 脚本文件名
      • sh shell脚本文件名
      • . shell脚本名
  • shell变量

    • 一个变量就是内存中被命名的一块存储空间

    • 可以包含数字、字母、下划线,只允许是字母和数字开头

    • 大小写敏感、理论上长度无限制

    • 有四种变量:用户自定义、环境、位置、特殊

      • 用户自定义变量:var=hello var="he llo" echo $hello 定义变量时等号两边不能有空格,若中间有空格要用双引号

        • 清除变量unset variable-name
      • 环境变量:大写字母作为变量名

        • 常用:PATH、HOME、PS1
      • 位置变量(参数):在执行脚本时用于存放shell脚本名及参数

        • test.sh脚本文件内容如下:
        echo $0
        echo $1 $2 $3 $4 $5 $6 $7 $8 $9
        shift
        echo $1 $2 $3 $4 $5 $6 $7 $8 $9
        shift
        echo $1 $2 $3 $4 $5 $6 $7 $8 $9
        
        • 执行脚本文件sh test.sh 1 2 3 4 5 6 7 8 9
        • 执行结果如下:
        test.sh
        1 2 3 4 5 6 7 8 9
        2 3 4 5 6 7 8 9 0
        3 4 5 6 7 8 9 0 0
        
      • 特殊变量

        • $@$*:当 $@$* 不被双引号 " " 包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔$* 会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。 $@仍然将每个参数都看作一份数据,彼此之间是独立的。
        [root@malongfei /]# set aa bb cc
        [root@malongfei /]# echo "$@"
        aa bb cc
        [root@malongfei /]# echo "$*"
        aabbcc
        
    • shell编程基础

      • 脚本输入/输出

        • 输出命令:echo

        • 导出命令:export 实例如下所示:

          [root@malongfei tmp]# cat export1.sh 
          var1="this is first variable(var)"
          export var2="the is export variable"
          sh export2.sh
          [root@malongfei tmp]# cat export2.sh 
          echo "$var1"
          echo "$var2"
          [root@malongfei tmp]# sh export1.sh
          
          the is export variable
          [root@malongfei tmp]#
          
      • shell的逻辑运算

        • 条件测试
          • test 条件表达式
          • [ 条件表达式 ] 注意:括号前后需要保留空格,否则会报错error
        • 算术运算
          • ···

4、系统管理基础

4.1. 系统启动、运行、关闭

  • 系统启动
    • GRUB
  • 系统运行级别
    • Linux提供7种运行级别(0~6)
      • 0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动
      • 1:单用户工作状态
      • 2:多用户状态(没有NFS支持)
      • 3:完全的多用户状态(有NFS),标准运行级别,登陆后进入命令行模式
      • 4:系统未使用,保留。
      • 5:多用户模式,x11控制台,登陆后进入GUI模式。
      • 6:系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动
    • 运行级别配置文件
      • vim /etc/inittab
      • id:3:initdefault:
    • 运行级别切换
      • 查看运行级别runlevel
      • init N
    • 系统关闭
      • 命令shutdown halt reboot init
      • 示例:
        • 立即关机重启shutdown -r now
        • 立即关机shutdown -h now
        • 定时5分钟后关机,且发警告消息shutdown +5 "system will shutdown after 5 minutes"

4.2 用户管理

  • 用户类型
    • Linux系统中的用户三种类型:可登录的用户类型两种
      • 超级用户 root
      • 普通用户
      • 特殊用户(系统用户):默认情况无法登录
  • 用户管理方法
    • 通过GUI方式管理
    • 通过修改相关配置文件管理
    • 通过命令管理
  • 用户管理相关配置文件
    • /etc/passwd文件:存放关于账户相关信息
    • /etc/shadow文件:/etc/shadow 的影子文件
    • /etc/group文件:存放用户组相关信息
  • 用户管理相关命令
    • useradd示例:
      • 创建用户时指定mlf用户主目录为/mlf:useradd -d /mlf mlf
      • 创建用户时,指定mlf用户属于student组:useradd -g student mlf
    • usermod示例:
      • 将用户mlf组名改为userusermod -g user mlf
      • 将用户mlf主目录改为/home/testusermod -d /home/test mlf
      • 将用户mlf的登录shell改为/bin/cshusermod -s /bin/csh mlf
    • usedel示例:
      • 删除用户及全部用户主目录userdel -r username
    • groupadd
    • groupmod
    • groupdel
    • groups查看自己属组

4.3 设备管理

  • 设备标识

    • 两部分构成:主设备号次设备号
  • 设备管理命令

    • 磁盘和分区管理命令fdisk

      • fdisk -l /dev/sda2
    • 磁盘分区格式命令mkfs

      • mkfs -t 文件系统类型 分区设备
    • 文件系统检查和修复fsck

    • 查看文件系统的磁盘空间df

    • 统计目录或文件所占磁盘空间的大小du

    • 显示用户或者工作组的磁盘配额信息quata

    • 挂载或卸载设备mount/umount

      • 设置自动挂载:在$/etc/fstab$文件末尾添加:

        /dev/cdrom /mnt/cdrom ext3 defaults 0 0
        

4.4 进程管理

  • 进程分为两类:系统进程和用户进程
  • 进程启动
    • 手工启动
    • 调度启动(at命令、cron命令)
  • 管理进程相关命令
    • ps命令:观察进程状态
    • top命令:动态实时显示系统进程状态
    • renice命令:调整进程优先级
      • renice -number PID
    • sleep命令:进程休眠
      • sleep time
    • at命令:指定时刻执行指定的命令
      • 示例:指定/pwd_script 在3:15执行 at -f /pwd_script 03:15
    • &命令:后台运行进程
    • kill命令:杀死后台进程
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【强转】QEMU+GDB调试linux内核全过程
    【强转】QEMU+GDB调试linux内核全过程
    昨天更新了一篇名为《QEMU+GDB调试linux内核全过程》[link][https://blog.csdn.net/weixin_37867857/article/details/88138432]的博客,发现排版比较混乱,而且思维也比较混乱。咋一看下来简直是惨不忍睹,而且会给读者在安装过程中一种云里雾里的感觉,加上
    03-08
  • Linux下Bochs,NASM安装和使用 linux bom
    Linux下Bochs,NASM安装和使用 linux bom
    以Ubuntu为例,先更新一下:sudo apt-get updatesudo apt-get upgrade然后安装Bochs环境:sudo apt-get install build-essential xorg-dev libgtk2.0-dev安装NASMNASM官网下载,这以nasm-2.14.02.tar.gz为例:用tar zxvf nasm-2.14.02.tar.gz解压后编译安装cd
    03-08
  • 把玩Alpine linux(一):安装
    把玩Alpine linux(一):安装
    导读Alpine Linux是一个面向安全应用的轻量级Linux发行版。它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。Alpine 的内核都打了grsecurity/PaX补丁,并且所有的程序都编译为Position Independent Executabl
    03-08
  • 日志审计与分析实验三(rsyslog服务器端和客户端配置)(Linux日志收集)
    日志审计与分析实验三(rsyslog服务器端和客户
     Linux日志收集一、实验目的:1、掌握rsyslog配置方法2、配置rsyslog服务收集其他Linux服务器日志:C/S架构:客户端将其日志上传到服务器端,通过对服务器端日志的查询,来实现对其他客户端的日志进行集中管理;下面实现就是通过两套机器来实现,(server:19
    03-08
  • Linux学习系列--如何在Linux中进行文件的管理
    Linux学习系列--如何在Linux中进行文件的管理
    文件在常见的Linux的文件系统中,经常使用能了解到的文件管理系统是分为多个文件夹进行管理的。如何查看文件路径 pwd ,在文件目录中,会有一个点(.)代表的是当前目录,两个点(..)代表的是当前目录的上层目录在Linux下,所有以点开始的文件都是“隐藏文件
    03-08
  • [JetBrains] 我想在 Linux 上使用 macOS 键绑定!
    [JetBrains] 我想在 Linux 上使用 macOS 键绑定
    很高兴认识你,我的名字是kitakkun。我最近开始实习,是工程界的新手。顺便说一句,这是我的第一篇文章。你最喜欢的操作系统是什么?视窗?苹果系统?还是Linux?我将它们全部用于不同的目的,但感觉就像 macOS ≒ LinuxWindows。一两个月前,我最喜欢 Linux
    03-08
  • linux 配置Socks51
    linux 配置Socks51
    ***大家耳熟能详,但是socks用到的人比较少,那什么是socks呢?请看第二段或者百度百科,socks分别有4和5两个版本,现在5为主流。工作中经常用***访问国外,但是同时国内的速度又慢了,让人很纠结,实际上这个时候可以考虑使用socks。指定某一个程序使用国外s
    02-10
  • linux下如何单独编译设备树? linux设备树是什
    答: make vendor/device_name.dtb  如: make freescale/fsl-1043a-rdb.dtb
    02-10
  • linux下mysql开启远程访问权限及防火墙开放3306端口
    linux下mysql开启远程访问权限及防火墙开放3306
    开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这
    02-10
  • 移植linux3.7到nuc900系列开发板遇到的问题
    通过移植学习linux新版本内核,大概了解一下内核变化。记录一下移植过程中遇到的问题或值得注意的地方。1,添加一款arm9芯片的支持首先修改\arch\arm\tools\mach-types文件添加一行w90p950evbMACH_W90P950EVBW90P950EVB同目录下的脚本文件在编译内核时会根据
    02-10
点击排行