红帽Linux操作系统基本命令(学习笔记)
Redhat版本的Linux操作系统基本命令
- 前言
- 一、安装linux系统
- 二 、根文件系统目录详解
- 三、文件属性与权限
- 四、用户和用户组管理
- 五、重定向
- 六、vim 程序开发器
- 一般模式常用命令和参数
- 命令行模式常用命令和参数
- 七、终端分屏显示
- 八、查找 和 替换
- 九、shell编程
前言
Linux操作系统被广泛的应用于企业服务器领域,目前市场上的网络设备都是使用linux内核操作系统,一些网络服务器也是使用linux操作系统下面的服务搭建实现的,目前操作系统这块也基本被linux占据,使用linux的iptables功能可以做代理服务器和防火墙;使用samba服务的功能可以做搭建和打印共享服务器。
在网络应用方向,比如一些企业软件都会基于linux,而且现在的软件与网络密切相关,系统维护方向,当然是对公司内部电脑进行管理维护,并非开发,其次驱动开发,开发外围设备的驱动程序;最后转向嵌入式linux相关工作,主要是arm、mips平台上应用程序及驱动开发。
一、安装linux系统
分区
- /boot : 系统启动时候存放加载镜像文件
vmlinuz-2.6.18-194.el5
100M - swap : 用于处理数据
大小:一般是内存(DDR)的1.5 ~ 2陪之间 - / : 根文件系统
所有的文件都是从根开始
所有的设备皆文件
- /boot : 系统启动时候存放加载镜像文件
包选择
- 开发:
开发工具
开发库 全选 - 语言支持:
中文支持
英持 全选
- 开发:
安装vmware-tools:
目的:
- 为了linux和windows之间鼠标共享
- 提高分辨率 ,就可以全屏显示linux
用户: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开发流程
创建.c源文件
touch hello.c
实现.c文件
vim hello.c #自行编写“hello world!”的输出!
编译
gcc hello.c
执行:
[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
水平切割:
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
- shell入口 => hello world
创建shell的脚本文件
touch 01_hello.sh
实现
#!/bin/bashecho hello
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo 命令用于向窗口输出文本。
3. 指定可执行权限
chmod 755 01_hello.sh4. 执行./01_hello.sh
变量:没有类型
局部变量:只对当前的shell起作用
定义 : valname=value
查看 :set
取值 :${valname}环境变量:不仅对当前的shell起作用,也对子shell起作用
定义:export valname=value
查看:env
取值:${valname}算术运算:+ - * / % 不支持浮点数
[ [ [valname option $valname]练习:实现两个数交换
输入输出语句
输出语句
echo
-n : 表示不换行
C语言的是printf输入语句
read:
-p : 表示显示提示信息
-s : 表示关闭回显
-t : 表示设置超时 秒
-n : 表示设置最大接受字符个数
C语言的是scanf
自动变量
$0 : 表示执行文件名
$1 : 表示第一个参数
$1 : 表示第二个参数
…
$# : 表示接受参数个数
$? : 表示上次执行命令成功与否
成功:0
失败:非零计算机识别程序的唯一表示叫进程号
$$ : 表示进程号
红帽Linux操作系统基本命令(学习笔记)相关推荐
- Linux基本命令学习笔记--文件查看、下载、查找
1.Linux基本命令学习笔记–(文件查看) cat -整个查看 -n:行号 >(创建.覆盖) >>(追加)a.txt<<EOF:编写内容 内容 EOF (定格写:结束) ...
- KALI LINUX渗透测试学习笔记
KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...
- 兄弟连Linux运维学习笔记
最新经典linux运维兄弟连Linux运维学习笔记... --------------- 全程1.5倍播放.加油我一定可以学完Linux ---------------------- Unix与Lin ...
- 【学习札记NO.00004】Linux Kernel Pwn学习笔记 I:一切开始之前
[学习札记NO.00004]Linux Kernel Pwn学习笔记 I:一切开始之前 [GITHUB BLOG ADDR](https://arttnba3.cn/2021/02/21/NOTE-0 ...
- Linux NVMe Driver学习笔记之5:Admin SQ/CQ的创建
这篇文章紧接上回分解,在nvme_probe函数的最后一步调用nvme_reset_work进行reset操作,nvme_reset_work的主要工作可以概括如下几个步骤: 进入nvme_reset ...
- 《Linux Shell编程学习笔记之一》
<Linux Shell编程学习笔记之一> 前言 由于自己一直在Windows上面编程,用linux用的比较少,学习linux还是本科大二学的一点点知识.因此自己就准备花点时间来熟悉下li ...
- Linux第二周学习笔记(7)
Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...
- Linux第二周学习笔记(11)
Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...
- Linux第二周学习笔记(5)
Linux第二周学习笔记(5) 2.11.CP命令 cp(copy简写)命令:用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp –r:复制目录 -i:安全选项 cp命令:拷贝/etc/ ...
最新文章
- serch安装2012 windows_随身携带电脑系统 U盘系统工具WinToGo系统安装到U盘
- 在线试玩,在体感游戏中打败泰森,这位小哥破解了任天堂「拳无虚发」
- 为“证明实力”,某医院前网管离职后远程入侵服务器,致诊疗系统瘫痪
- java实用solr6.6_搜索引擎Solr-6.6.0搭建
- mysql语句中事务可靠性_MYSQL中的事务
- OJ1159: 最大的两个数(指针专题)(C语言)
- 【MySQL】37 个 MySQL 数据库小技巧
- 移动端点击链接元素出现蓝色边框或者出现半透明蓝色背景
- HDU1425 sort【排序】
- CSS3实现的几个小loading效果
- 高斯牛顿迭代法的原理及实现(经典例子,附C和C++代码,含运行结果)
- Adobe Audition 2020 for Mac安装不了怎么办?Au下载安装教程来啦 内附系统要求
- c语言abcd=(ab cd),汇编语言编程求具有abcd=(ab+cd)^2 性质的4 位数并输出。例如3025=(30+25)2。(不是C语言)...
- vue 动态面包屑 通过面包屑带参数跨级跳转 面包屑动态标题 多级路由嵌套设置默认页面和隐藏左侧导航栏显示
- RSA--------------
- CC00307.CloudKubernetes——|KuberNetes运维.V27|——|监控.v04|PromQL查询_运算符|
- 手持振弦传感器VH03读数仪测读仪频率仪地质灾害土木工程自动化监测
- java输出华氏摄氏温度转换表_C语言入门教程-示例:编写能够打印华氏-摄氏温度转换表的程序...
- 企业网/校园网网络设计涉及的关键技术详解
- java 混淆 js_JS混淆压缩小工具