Redhat版本的Linux操作系统基本命令

  • 前言
  • 一、安装linux系统
  • 二 、根文件系统目录详解
  • 三、文件属性与权限
  • 四、用户和用户组管理
  • 五、重定向
  • 六、vim 程序开发器
    • 一般模式常用命令和参数
    • 命令行模式常用命令和参数
  • 七、终端分屏显示
  • 八、查找 和 替换
  • 九、shell编程

前言

   Linux操作系统被广泛的应用于企业服务器领域,目前市场上的网络设备都是使用linux内核操作系统,一些网络服务器也是使用linux操作系统下面的服务搭建实现的,目前操作系统这块也基本被linux占据,使用linux的iptables功能可以做代理服务器和防火墙;使用samba服务的功能可以做搭建和打印共享服务器。
  在网络应用方向,比如一些企业软件都会基于linux,而且现在的软件与网络密切相关,系统维护方向,当然是对公司内部电脑进行管理维护,并非开发,其次驱动开发,开发外围设备的驱动程序;最后转向嵌入式linux相关工作,主要是arm、mips平台上应用程序及驱动开发。


一、安装linux系统

  1. 分区

    • /boot : 系统启动时候存放加载镜像文件
      vmlinuz-2.6.18-194.el5
      100M
    • swap : 用于处理数据
      大小:一般是内存(DDR)的1.5 ~ 2陪之间
    • / : 根文件系统
      所有的文件都是从根开始
      所有的设备皆文件
  2. 包选择

    • 开发:
      开发工具
      开发库 全选
    • 语言支持:
      中文支持
      英持 全选
  3. 安装vmware-tools:

    目的:

    1. 为了linux和windows之间鼠标共享
    2. 提高分辨率 ,就可以全屏显示linux
  4. 用户:root
    密码:123456
    提示:开发过程为了方便记忆,建议密码是自己记得住的

linux的桌面环境
1 如何打开终端:
点击鼠标右键 => 打开终端
alt+F2 => gnome-terminal => enter

 提示信息:[root@localhost ~]# root : 表示当前登录用户名localhost : 表示主机名~  :表示当前工作目录:表示当前用户家目录 /root2 关闭终端:exit3 最大化窗口alt + F10
4 最小化窗口alt + F9
5 切换终端:alt + tab
6 放大字体ctrl + shift + +
7 缩小字体ctrl + -永久放大或者缩小字体编辑 => 当前配置文件 => 8 一个终端打开多个标签ctrl + shift + t标签之间切换alt + num(1,2,3,4,5,6,7...)9 关机shutdown -h nowinit 010 重启rebootshutdown -r nowinit 6

查看系统版本:

[root@localhost linux]# lsb_release -a
LSB Version:
:core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Release:        5.5
Codename:       Tikanga

查看kernel版本 www.kernel.org

[root@localhost linux]# uname -r2.6.18-194.el5

2 : 表示主版本号
kernel系统架构发生大的改变,才会修改主版本号
6 :表示次版本号
奇数:表示测试版本
偶数:表示稳定版本
18 : 表示释放版本号
小的bug

查看系统平台:
[root@localhost linux]# uname -m
i686 表示32位系统
x86_64 表示64位系统
long => 32 => 4 => 32 => -2147483648 ~ 2147483647
=> 64 => 8 => 64 => -9223372036854775808 ~ 9223372036854775807

其他信息

[root@localhost linux]# uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/LinuxLinux    :   表示kernel
localhost.localdomain   :   表示主机名
2.6.18-194.el5  :    表示kernel版本
#1 SMP Tue Mar 16     21:52:43 EDT 2010 :表示第一次发布时间
i686 i686 i386  :    表示32位系统
GNU/Linux       :    表示系统名kening03 => 11223344service network restartping 192.168.5.254 -c 3vncviewer 192.168.5.254

二 、根文件系统目录详解

1 所有的文件都是从根开始
2 所有的设备皆文件

/ : 表示根目录/bin    : 表示存放命令的目录 二进制可执行文件
/sbin   : 表示管理员命令  root
/media  : 表示挂载U盘 光盘 硬盘目录
/usr    : 表示用户安装软件的目录/usr/bin/usr/sbin/usr/include : 表示系统头文件存放路径
/boot   : 表示存放镜像文件分区vmlinuz-2.6.18-194.el5
/dev    : 表示存放设备类文件目录字符设备类文件块设备类文件
/mnt    : 表示默认挂载目录共享windows目录给linux /mnt/hgfs/dirname/etc   : 表示配置文件存放目录/etc/sysconfig/network-scripts/ifcfg-eth0 网卡配置信息/etc/passwd 用户信息文件/lib  : 表示系统库目录.so : 表示动态库.a  : 表示静态库/opt : 表示扩张包存放目录
/sys    : 虚拟目录 系统模块目录
/proc   : 虚拟目录 进程目录/tmp    : 表示临时目录
/root   : 表示管理员的家目录/root/Desktop/   : 表示桌面
/home   : 表示普通用户家目录

基本命令:
分类:
内部命令:就是shell(kernel)自带的一些命令,没有路径
外部命令:就是用户安装的一些命令,会存放路径
区分:
type + cmd
案例:

     [root@localhost ~]# type cdcd is a shell builtin       表示内部命令[root@localhost ~]# type tartar is /bin/tar              表示外部命令[root@localhost ~]# type lsls is aliased to `ls --color=tty'  表示别名[root@localhost ~]# which ls   查找命令路径  alias ls='ls --color=tty'/bin/ls

别名:

临时有效
[root@localhost ~]# alias lls=ls
[root@localhost ~]# lls
01_hello.c       a.out    install.log         minicom.log
anaconda-ks.cfg  Desktop  install.log.syslog
永久有效vim ~/.bashrc添加如下一行alias lls='ls'文件生效source  ~/.bashrc

三、文件属性与权限

用户名:root =>

基本命令:
\quad 内部命令:
\quad 外部命令:

man : 表示帮助
\quad format : man + [num] + cmd
\quad man 7 man
\quad 1 Commands 表示基本命令
\quad 2 System calls 表示系统调用函数说明文档
\quad 3 Library calls 表示C库或者第三方库的说明文档
\quad 4 Special files 表示特殊文件说明 /dev
\quad 5 File formats and conventions : 表示文件格式说明文档
\quad 6 Games 表示内核相关说明文档
\quad 7 Conventions and miscellaneous 表示网络相关
\quad 8 System management commands 表示管理员命令
\quad 9 Kernel routines 表示内核相关
退出man : q

help :
\quad 内部命令:help + cmd
\quad 外部命令:cmd + --help

info :

内事不绝问百度 外事不绝问谷歌

tab键
\quad 1 对文件自动补齐
\quad 2 对命令自动补齐

注意: 按tab件没有补全,则可能不存放匹配信息或者可能匹配多个文件信息,则再按一次tab键。

ls : 显示目录相关连接
\quad format : ls [option] … [filename | dirname] …

option :-a : 表示显示所有的文件或者目录.filename or .dirname : 表示隐藏. : 表示当前的工作目录..: 表示上级目录-i : 表示显示文件inode节点号或者文件索引号计算机识别文件的唯一标识。如果inode节点号一致,表示是同一个文件。-l : 表示长格式显示文件信息[root@localhost test]# ls -l总计 16-rwxr-xr-x 1 root root 4729 03-18 20:40 a.out-rw-r--r-- 1 root root    0 03-19 09:56 hehelo.c-rw-r--r-- 1 root root  106 03-18 22:00 hello.c第一列:表示文件类型和权限类型:第一个字符- : 表示普通文件d : 表示目录文件c : 表示字符设备类文件l : 表示软连接文件b : 表示块设备类文件s : 表示套接子文件p : 表示管道文件权限:三位为一组,共三组第一组:表示文件属主权限第二组:表示文件属组的权限第三组:表示其他用户对文件权限r : 表示只读w : 表示只写x : 表示可执行- : 表示无权限第二列:表示文件硬连接数硬连接:相当于给文件做一个备份ln srcfilename  destfilename软连接:相单当于创建一个快捷方式ln -s stcfilename destfilename区别:1 硬链接inode节点号是一致的,软连接的inode节点号不一致。2 硬连接不可以操作目录,软连接可以3 如果跨目录,硬连接不需要指定路径,软连接要指定绝对路径。4 硬连接不可以跨分区,软连接可以跨分区第三列:表示文件属主表示文件拥有者是那个用户第四列:表示文件属组表示文件的拥有组是那个组中的用户所有第五列:表示文件大小 字节-h : 表示易读方式显示文件大小Byte => K => M => G => T => P => ....第六列:表示修改文件内容时间atime:访问时间(cat more less head tail ...)ctime:修改文件属性(chmod chown)mtime:修改文件内容,同时会触发atime 和 ctime时间(vim)第七列:表示文件名

四、用户和用户组管理

pwd : 查看当前工作目录的绝对路径

文件权限:
r => 4
w => 2
x => 1

用户:属主:     u属组:     g其他用户:   o所有用户:   a设定权限:chmod案例:属主添加一个可执行权限[root@localhost test]# ll总计 0-rw-r--r-- 1 root root 0 03-19 10:29 a.txt[root@localhost test]# chmod u+x a.txt [root@localhost test]# ll总计 0-rwxr--r-- 1 root root 0 03-19 10:29 a.txt属组删除读权限[root@localhost test]# ll总计 0-rwxr--r-- 1 root root 0 03-19 10:29 a.txt[root@localhost test]# chmod g-r a.txt [root@localhost test]# ll总计 0-rwx---r-- 1 root root 0 03-19 10:29 a.txt其他用户指定可读,可写,可执行权限[root@localhost test]# ll总计 0-rwx---r-- 1 root root 0 03-19 10:29 a.txt[root@localhost test]# chmod o=rwx a.txt [root@localhost test]# ll总计 0-rwx---rwx 1 root root 0 03-19 10:29 a.txt所用用户只读权限[root@localhost test]# chmod a=r a.txt [root@localhost test]# ll总计 0-r--r--r-- 1 root root 0 03-19 10:29 a.txt数字设定权限方式[root@localhost test]# chmod 754 a.txt [root@localhost test]# ll总计 0-rwxr-xr-- 1 root root 0 03-19 10:29 a.txt

创建用户:

useradd usrename
案例:[root@localhost test]# useradd xiaocao[root@localhost test]# ls /homelisi  wangmazi  xiaocao

用户设定密码

[root@localhost test]# passwd xiaocao
Changing password for user xiaocao.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

删除用户:

[root@localhost test]# userdel -r xiaocao

切换用户

su - username

退出:

exit

设定属主和属组 chown

案例:修改文件属主[root@localhost test]# ll总计 0-rwxr-xr-- 1 root root 0 03-19 10:29 a.txt[root@localhost test]# ls /homelisi  wangmazi  xiaocao[root@localhost test]# chown lisi a.txt [root@localhost test]# ll总计 0-rwxr-xr-- 1 lisi root 0 03-19 10:29 a.txt修改属组:[root@localhost test]# ll总计 0-rwxr-xr-- 1 lisi root 0 03-19 10:29 a.txt[root@localhost test]# chown :xiaocao a.txt [root@localhost test]# ll总计 0-rwxr-xr-- 1 lisi xiaocao 0 03-19 10:29 a.txt

查看文件属性:

[root@localhost test]# stat a.txt File: “a.txt”Size: 0               Blocks: 0          IO Block: 4096   一般空文件Device: 802h/2050d      Inode: 6710906     Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/root)Access: 2023-03-19 11:48:21.000000000 +0800Modify: 2023-03-19 11:48:21.000000000 +0800Change: 2023-03-19 11:48:21.000000000 +0800[root@localhost test]#

ls -l

chmod 指定权限
chown 指定属主和属组
useradd 创建用户
passwd 设置用户密码
userdel -r 彻底删除用户
su - 切换用户

cd : 切换目录
pwd : 查看当前工作目录的绝对路径

mkdir rmdir
touch rm

cp mv

cat tac more less head tail
grep cut uniq sort wc tr

管道命令:|
前一个命令的输出作为后一个命令输入
案例:

[root@localhost test]# cat /etc/passwd | grep root | wc -l
2

练习:统计/etc/passwd共有多少种shell

cat /etc/passwd | cut -d : -f 7 | sort | uniq | grep -v ^$ | wc -l

五、重定向

重定向:改变输入或者输出的方向

输出重定向:
   正确的输出重定向:>
案例:

         [root@localhost test]# ls a  aa  a.txt[root@localhost test]# ls > a.txt [root@localhost test]# cat a.txt aaaa.txt

  错误的输出重定向:2>
案例:

         [root@localhost test]# ls /khfjdls: /khfjd: 没有那个文件或目录[root@localhost test]# ls /khfjd 2> a.txt[root@localhost test]# cat a.txt ls: /khfjd: 没有那个文件或目录

正确追加输出重定向:>>
错误追加输出重定向:2>>
错误和正确保存同一个文件中: &>

黑洞文件:

     /dev/null

输入重定向:<
  案例:

     [root@localhost test]# passwd < a.txt Changing password for user root.New UNIX password: BAD PASSWORD: it is too simplistic/systematicRetype new UNIX password: passwd: all authentication tokens updated successfully.

函数结束标记:<<
  案例:

     [root@localhost test]# cat << AAA> jdh> kjklfjhkd> jhgkdjgf> kjgf> AAAjdhkjklfjhkdjhgkdjgfkjgf

六、vim 程序开发器

vim 的官方网站

编辑器:vim 程序开发器
编译器:gcc

版本:
vim -v

三种模式:

  • 一般模式:vim filename 直接打开文件的模式
  • 一编辑模式:文件的左下角有插入字样的模式
  • 命令行模式:文件的左下角有 : 字样的模式

模式之间切换
一般模式切换到编辑模式
i I a A o O s S

编辑模式切换到命令行模式ESC键 => ::wq : 表示保存并退出

练习:实现C开发流程

  1. 创建.c源文件

    touch hello.c
    
  2. 实现.c文件

     vim hello.c  #自行编写“hello world!”的输出!
    
  3. 编译

     gcc hello.c
    
  4. 执行:

    [root@localhost test]# ./a.out
    hello world!
    

一般模式常用命令和参数

删除:dd     : 删除一行ndd   : 删除n行u : 撤销上次操作dw  : 删除一个单词 必须在单词首字母处ndw : 删除n个单词daw   : 删除一个单词 单词任意位置d$   : 删除到行尾d^   : 删除到行首dgg  : 删除到文件开头dG : 删除到文件结尾
复制:yy    : 复制一行p : 粘贴同上 d => y
可视化操作:可视化字符:v => 方向键 => y => p可视化行:shift + v => 方向键 => y => p可视化块:ctrl + v => 方向键 => y => p剪贴:yy => p => dddd => p
移动:h : 左移j   : 下移k   : 上移l   : 右移ngg : 定义第8行$    : 行尾^   : 行首gg  : 文件开头G : 文件结尾H :屏幕顶部L   : 屏幕底部M : 屏幕中间50%   : 文件中间J : 合并两行为一行i  : 光标前面的插入
I   : 行首的插入
a   : 光标后面插入
A   : 行尾插入
o   : 下一行插入(新行)
O   : 上一行插入(新行)
s   : 删除光标位置字符插入
S   : 删除当前行的插入
ctrl + p : 补齐关键字

命令行模式常用命令和参数

:wq      表示保存并退出
:w      表示保存
:q      表示退出
:wq!    表示强制保存并退出
:q!     表示强制退出:w filename 表示另存为执行外部命令格式::r !cmd案例:所有的内容加载到当前文件中:r !cat world.c案例:复制若干行到当前文件中:r !sed -n "5,8p" ./world.c复制world.c文件中的第五行到第八行的内容到当前文件中。临时有效:
:set number     表示显示行号
:set nonu       表示取消行号永久有效
vim ~/.vimrc    vim的配置文件添加如下一行set nuset ic  : 表示不区分大小写移动:左移:shift + <右移:shift + >

七、终端分屏显示

分屏显示:
1. 垂直切割:

 vim -O filename1 filename2 ... filenamen文件切换:ctrl + w 2次关闭所有文件::wqa:vslpit filename
  1. 水平切割:

     vim -o filename1 filename2 ... filenamen:split filename
    

八、查找 和 替换

查找格式::/keyn : 表示查找下一个N : 表示查找上一个替换::m,ns/oldkey/newkey/optionm : 表示起始行n : 表示结束行s : 表示关键字option :g : 表示全部替换i : 表示不区分大小写替换
练习::%s/\/\/https:www/ftp/g% : 表示全文\ : 表示转义字符

设定密码:

:X

取消密码:

:set key=

九、shell编程

  Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
  Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
  Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
shell也叫命令解析器 或者说用于用户和kerne交互式界面
shell也是一门计算机语言

查看当前系统所支持所有shell

[root@localhost test]# ls /bin/*sh
/bin/bash  /bin/csh  /bin/ksh  /bin/sh  /bin/tcsh

查看当前系统使用shell

[root@localhost test]# echo $SHELL
/bin/bash
  1. shell入口 => hello world

    1. 创建shell的脚本文件

      touch 01_hello.sh
      
    2. 实现

       #!/bin/bashecho hello
      

    #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

echo 命令用于向窗口输出文本。
3. 指定可执行权限

   chmod 755 01_hello.sh4. 执行./01_hello.sh
  1. 变量:没有类型
    局部变量:只对当前的shell起作用
    定义 : valname=value
    查看 :set
    取值 :${valname}

    环境变量:不仅对当前的shell起作用,也对子shell起作用
    定义:export valname=value
    查看:env
    取值:${valname}

    算术运算:+ - * / % 不支持浮点数
    [ [ [valname option $valname]

    练习:实现两个数交换

  2. 输入输出语句

    • 输出语句
      echo
      -n : 表示不换行
      C语言的是printf

    • 输入语句
      read:
      -p : 表示显示提示信息
      -s : 表示关闭回显
      -t : 表示设置超时 秒
      -n : 表示设置最大接受字符个数
      C语言的是scanf

  3. 自动变量
    $0 : 表示执行文件名
    $1 : 表示第一个参数
    $1 : 表示第二个参数

    $# : 表示接受参数个数
    $? : 表示上次执行命令成功与否
    成功:0
    失败:非零

    计算机识别程序的唯一表示叫进程号
    $$ : 表示进程号

红帽Linux操作系统基本命令(学习笔记)相关推荐

  1. Linux基本命令学习笔记--文件查看、下载、查找

    1.Linux基本命令学习笔记–(文件查看) cat -整个查看 -n:行号 >(创建.覆盖) >>(追加)a.txt<<EOF:编写内容 内容 EOF (定格写:结束) ...

  2. KALI LINUX渗透测试学习笔记

    KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...

  3. 兄弟连Linux运维学习笔记

    最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux ---------------------- Unix与Lin ...

  4. 【学习札记NO.00004】Linux Kernel Pwn学习笔记 I:一切开始之前

    [学习札记NO.00004]Linux Kernel Pwn学习笔记 I:一切开始之前 [GITHUB BLOG ADDR](https://arttnba3.cn/2021/02/21/NOTE-0 ...

  5. Linux NVMe Driver学习笔记之5:Admin SQ/CQ的创建

    这篇文章紧接上回分解,在nvme_probe函数的最后一步调用nvme_reset_work进行reset操作,nvme_reset_work的主要工作可以概括如下几个步骤: 进入nvme_reset ...

  6. 《Linux Shell编程学习笔记之一》

    <Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...

  7. Linux第二周学习笔记(7)

    Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...

  8. Linux第二周学习笔记(11)

    Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...

  9. Linux第二周学习笔记(5)

    Linux第二周学习笔记(5) 2.11.CP命令 cp(copy简写)命令:用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp –r:复制目录 -i:安全选项 cp命令:拷贝/etc/ ...

最新文章

  1. serch安装2012 windows_随身携带电脑系统 U盘系统工具WinToGo系统安装到U盘
  2. 在线试玩,在体感游戏中打败泰森,这位小哥破解了任天堂「拳无虚发」
  3. 为“证明实力”,某医院前网管离职后远程入侵服务器,致诊疗系统瘫痪
  4. java实用solr6.6_搜索引擎Solr-6.6.0搭建
  5. mysql语句中事务可靠性_MYSQL中的事务
  6. OJ1159: 最大的两个数(指针专题)(C语言)
  7. 【MySQL】37 个 MySQL 数据库小技巧
  8. 移动端点击链接元素出现蓝色边框或者出现半透明蓝色背景
  9. HDU1425 sort【排序】
  10. CSS3实现的几个小loading效果
  11. 高斯牛顿迭代法的原理及实现(经典例子,附C和C++代码,含运行结果)
  12. Adobe Audition 2020 for Mac安装不了怎么办?Au下载安装教程来啦 内附系统要求
  13. c语言abcd=(ab cd),汇编语言编程求具有abcd=(ab+cd)^2 性质的4 位数并输出。例如3025=(30+25)2。(不是C语言)...
  14. vue 动态面包屑 通过面包屑带参数跨级跳转 面包屑动态标题 多级路由嵌套设置默认页面和隐藏左侧导航栏显示
  15. RSA--------------
  16. CC00307.CloudKubernetes——|KuberNetes运维.V27|——|监控.v04|PromQL查询_运算符|
  17. 手持振弦传感器VH03读数仪测读仪频率仪地质灾害土木工程自动化监测
  18. java输出华氏摄氏温度转换表_C语言入门教程-示例:编写能够打印华氏-摄氏温度转换表的程序...
  19. 企业网/校园网网络设计涉及的关键技术详解
  20. java 混淆 js_JS混淆压缩小工具

热门文章

  1. 人在旅途——》张家界之旅:20190421
  2. 使用CSS3制作一个简单的商品列表、浮动布局
  3. 【Java】【逻辑漏洞】| Chat · 预告
  4. html好看的生日祝福,生日表白(源码)
  5. 计算机辅助布置设计软件的两种类型,桥梁计算机辅助设计软件WYCAD介绍
  6. 1183 反正切函数的应用
  7. echarts 飞线、轨迹图与地方地图联动
  8. [华中科技计组实验]logisim完成单周期5级流水MIPS CPU
  9. 元旦晚会年终总结汇报PPT模板
  10. 基于php后台的购物商城微信小程序的设计与实现