当前位置: 首页 > 编程日记 > 正文

Linux01-基本操作与Shell

目录

一、环境

二、Linux目录结构及基本操作

2.1 Linux目录结构

2.2 基本操作

三、shell

3.1 shell的意义

3.2 su -


一、环境

2019年搞下RHCE的证书,但是一直没有整理Linux学习的笔记,为了不让到手的知识被遗忘,从今天起整理Linux学习笔记。复习,备忘。

所有实验环境都是Redhat的标准练习环境。

虚拟机fondation0,用来承载、访问练习用的虚拟机中的虚拟机,用户kiosk,密码redhat,通过IP地址10.10.10.100/24访问。子网172.25.0.0/24中配置两台虚拟机中的虚拟机desktop0和server0。

虚拟机中的虚拟机desktop0.example.com,IP地址172.25.0.10,用户root、student,密码redhat。

虚拟机中的虚拟机server0.example.com,IP地址172.25.0.11,用户root、student,密码redhat。

在foundation0上用rht-vmctl来开启、查看、重置虚拟机。

[kiosk@foundation0 ~]$ rht-vmctl start server
[kiosk@foundation0 ~]$ rht-vmctl view server
[kiosk@foundation0 ~]$ rht-vmctl reset server

二、Linux目录结构及基本操作

2.1 Linux目录结构

Linux是的目录结构是一个以/为顶部的树状目录结构。有几个重要的目录/bin、/sbin、/usr、/boot、/dev、/etc、/home、/root、/tmp、/var、/lib、/lib64、/mnt、/proc、/run等。

在Redhat中,有几个目录是软连接关系,并不是真实存在的目录。/bin->/usr/bin、/sbin->/usr/sbin、/lib->/usr、/lib64->/usr/lib64、/usr/tmp->/var/tmp等等。

  • /usr,意思是Unix System Resource是Unix系统资源的意思,这里面放了安装的软件、共享;
  • /bin->/usr/bin,这个bin就是可执行的二进制文件,也就是用户命令;
  • /sbin->/usr/sbin,这个sbin就是super bin的意思,也就是系统管理命令,必须以root身份才能执行;
  • /etc,存放特定于此系统的配置文件;
  • /var,特定于此系统的可变数据,在系统启动之间保持永久性。动态变化的文件,比如数据库、缓存目录、日志文件等;
  • /run,运行时数据包括进程ID文件和锁文件,在重启时这个目录被重新创建;
  • /home,家目录,普通用户的个人数据和配置文件;比如student的家目录是/home/student;
  • /root,超级用户root的家目录;
  • /tmp,存放临时文件,默认10天内没被访问、更改的文件将自动从这个目录删除;
  • /boot,操作系统启动过程中需要的文件;
  • /dev,设备文件,用于访问硬件。

linux核心的思想:一切都是文件。这样只管理两种属性:一个是文件、 一个是目录。简单、高效、不冗余。比如设备也是一个设备文件,fdisk /dev/sda   ------ >/dev/sda1,设备要使用就一定要挂载,设备和目录建立一个映射关系。

2.2 基本操作

显示当前路径pwd,列出指定目录的内容ls,切换目录cd。

[student@server0 ~]$ pwd
/home/student
[student@server0 ~]$ ll /usr/
total 236
dr-xr-xr-x.   2 root root 45056 Jan  7  2015 bin
drwxr-xr-x.   2 root root     6 Mar 13  2014 etc
drwxr-xr-x.   2 root root     6 Mar 13  2014 games
drwxr-xr-x.   4 root root    42 Jan  7  2015 include
dr-xr-xr-x.  42 root root  4096 Jan  7  2015 lib
dr-xr-xr-x. 131 root root 65536 Jan  7  2015 lib64
drwxr-xr-x.  35 root root  8192 Jan  7  2015 libexec
drwxr-xr-x.  12 root root  4096 May  7  2014 local
dr-xr-xr-x.   2 root root 20480 Jan  7  2015 sbin
drwxr-xr-x. 232 root root  8192 Jan  7  2015 share
drwxr-xr-x.   4 root root    32 May  7  2014 src
lrwxrwxrwx.   1 root root    10 May  7  2014 tmp -> ../var/tmp
[student@server0 ~]$ cd /usr/bin/
[student@server0 bin]$ pwd
/usr/bin

ls参数-l长列表格式、-a显示隐藏文件、-R递归显示等。

[student@server0 ~]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .cache  .config  .ssh
[student@server0 ~]$ ls -al
total 16
drwx------. 5 student student 4096 Mar 24 00:31 .
drwxr-xr-x. 3 root    root      20 Jan  7  2015 ..
-rw-r--r--. 1 student student   18 Jan 29  2014 .bash_logout
-rw-r--r--. 1 student student  193 Jan 29  2014 .bash_profile
-rw-r--r--. 1 student student  231 Jan 29  2014 .bashrc
drwxrwxr-x. 3 student student   17 Mar 24 00:31 .cache
drwxr-xr-x. 3 student student   67 Mar 24 00:31 .config
drwx------. 2 student student   28 Jan  7  2015 .ssh
[student@server0 ~]$ ls -R ./.config/
./.config/:
abrt  gnome-initial-setup-done  monitors.xml./.config/abrt:
[student@server0 ~]$ 

创建目录mkdir,创建文件touch,复制cp,移动mv,删除rm,查看文件的前n行head、后n行tail,回显分屏显示less。

cp  file1   /tmp/file2   
cp -r  递归 -p
mv   重命名或者移动
rm -i -r -f   
mkdir -p
touch 创建空文件
rmdir 删除空目录

在bash中可以进行模式匹配,我个人理解为bash下的正则表达式。

bash模式匹配
模式匹配项
*由零个或多个字符组成的任何字符串
任何一个字符
~当前用户家目录
~username用户username的家目录
[abc...]括起来的类中的任何一个字符
[!abc...]或[^abc...]不在括起来的类中的任何一个字符
{xyz,abc}离散扩展
{a..z}或{1..9}连续扩展abcdef...uvwxyz,连续扩展123456789,可以嵌套
[student@server0 ~]$ mkdir d{1..5}
[student@server0 ~]$ touch file_{TXT,EXE}_{1..10}.txt
[student@server0 d1]$ echo {Mon,Tue,Fri}day
Monday Tueday Friday
[student@server0 d1]$ echo {a..d}{1..3}
a1 a2 a3 b1 b2 b3 c1 c2 c3 d1 d2 d3
[student@server0 d1]$ echo file{a{1..3},b,d}.txt
filea1.txt filea2.txt filea3.txt fileb.txt filed.txt

bash中可以进行变量的替换,用$符号;用单引号''或转义字符\能避免被替换。

[student@server0 d1]$ host=kevin
[student@server0 d1]$ echo "***hostname is ${host}***"
***hostname is kevin***
[student@server0 d1]$ echo '***hostname is ${host}***'
***hostname is ${host}***
[student@server0 d1]$ echo "***hostname is \${host}***"
***hostname is ${host}***

三、shell

3.1 shell的意义

shell可以分为登录shell和非登录shell。

  • 登录shell是只在用户登录的时候执行一次的shell,就是我们用的命令行,是交互式的环境,每一个用户都有一个自己的login shell。用户一定要有shell,才能跟系统内核交互,user<—>shell<—>kernel<—>hardware。
  • 非登录shell就是脚本语言,不需要用户登录也可以执行的。

ssh就是secure shell,对应的后台进程是sshd,终端就是shell的具体实现。

linux 默认用的是bash shell, 可以用其他shell;linux 内核一定要bash shell;所以用bash就对了。

3.2 su -

shell可以进行个性化设置,环境变量 , 权限等。su命令可以用来切换登录用户,su - 命令中的选项“-”表示运行登录shell,那么以下脚本会按照顺序执行,他们的意义是:

  1. /etc/profile          全局的环境变量
  2. ~/.bash_profile   用户自定义的环境变量
  3. ~/.bashrc            个性化设置   alias 命令的别名
  4. /etc/bashrc         全局的个性化设置

在切换shell的时候,一定要加上“-”,这样切换用户才能运行自己的shell。

相关文章:

ORB_SLAM2中Tracking线程的三种追踪方式

1、参考关键帧追踪模式 bool Tracking::TrackReferenceKeyFrame()对参考关键帧中的路标点进行跟踪。在Tracking线程中&#xff0c;每传入一帧&#xff0c;都会进行位姿优化。 以上一帧的位姿为当前位姿进行优化。 &#xff08;1&#xff09;计算当前帧的词袋 mCurrentFra…

nodejs 中间件 反向代理 接口转发

背景 随着后端业务系统的增加&#xff0c;纵向需求不断扩展&#xff0c;一个业务系统已经无法满足需求了&#xff0c;衍生出多个业务系统&#xff0c;对外暴露的ip、端口就可能有多个&#xff0c;此时不方便外部接口调用&#xff0c;有些特殊行业客户出于安全性考虑不发提供多…

oneinstack

https://oneinstack.com/转载于:https://www.cnblogs.com/diyunpeng/p/9740895.html

最近在做托盘时,发现 CnTrayIcon1的OnClick 事件,不能被其它按钮来执行,蛋疼。...

比如&#xff1a; procedure TForm1.Button1Click(Sender: TObject);begin CnTrayIcon1.OnClick ; // 这句就是不能通过&#xff01;&#xff01;end; 有过路的高手&#xff0c;指点学生一下。谢谢转载于:https://www.cnblogs.com/hahy8008/p/6783614.html

Linux02-帮助手册

目录 一、man手册 1.1 man的基本使用 1.2 mandb更新文档 二、/usr/share/doc 三、access.redhat.com 门户 一、man手册 1.1 man的基本使用 man就是mannual的缩写&#xff0c;手册的意思。Linux的命令很多&#xff0c;参数选项更多&#xff0c;人脑一般是记不住的&…

ORB_SLAM2中Tracking线程

Tracking线程是ORB_SLAM2的主线程。在System.cc中&#xff0c;使用构造函数进行了初始化&#xff0c;开启了三个线程。 可执行程序—>System构造函数&#xff08;初始化三个线程&#xff09;—>处理输入的帧&#xff08;TrackMonocular&#xff09;—>调用Tracking线程…

selenium的基础知识点

from selenium import webdriver from scrapy.selector import Selector#模拟登陆 browser webdriver.Chrome(executable_pathChromedriver.exe) #路径是Chromedriver.exe的存放位置&#xff0c;windows下只要配置好这个环境就不需要了browser.get(http://w) #需要登陆的那个网…

iOS 直播专题2-音视频采集

从设备(手机)的摄像头、MIC中采集音频、视频的原始数据ios的音视频采集可以从AVFoundation框架里采集 视频采集 这里我们选取GPUImage来采集视频,因为这个框架集成了很多视频滤镜,例如美颜 采集流程: 摄像头采集视频代码 GPUImageVideoCamera.m // 从前摄像头或后摄像头…

bzoj 4871: [Shoi2017]摧毁“树状图”

4871: [Shoi2017]摧毁“树状图” Time Limit: 25 Sec Memory Limit: 512 MBSubmit: 53 Solved: 9[Submit][Status][Discuss]Description 自从上次神刀手帮助蚯蚓国增添了上千万人口&#xff08;蚯口&#xff1f;&#xff09;&#xff0c;蚯蚓国发展得越来越繁荣了&#xff01…

Linux03-本地账户和组

目录 一、本地账户/etc/passwd 二、本地组/etc/group 三、切换账户su - 四、增删改本地账户useradd、userdel、usermod 五、账户默认配置文件/etc/login.defs 六、设置密码passwd(5)命令 七、增删改组groupadd、groupdel和groupmod 八、通过sudo以root身份运行命令 九…

ORB_SLAM2单目初始化策略

基本流程 单目初始化程序存储在Initializer.cc中   需要注意&#xff0c;对于双目/RGB-D相机&#xff0c;初始化时&#xff0c;由于可以直接获得相机的深度信息&#xff0c;因此无需求H/F&#xff0c;直接作为关键帧插入就行。   使用RANSACDLT求解H&#xff0c;RANSAC八点…

Powerdesigner逆向工程64位Oracle数据库

Powerdesigner老版本不支持64位Client&#xff0c;新版本弄不到破解码 解决方法&#xff0c;用Powerdesigner32位Oracle Clent访问64位Oracle Server 遇到的坑分享下 安装完64位的Oracle Server ,32位的 Oracle Clent默认的listener.ora文件有PROGRAM和ENVS这两个节点 Plsql(3…

运行jsp时,报错404

The origin server did not find a current reprsentation for the target resource or is not willing to disclose that one exists. 解决&#xff1a; 1. web.xml文件位置是否放错&#xff0c;应该放在WebContent/WEB-INF文件夹中 2. web.xml文件中是否有拼写错误&#xff0…

iOS 直播专题3-前置处理

前置处理 对视频添加美颜、水印、滤镜等对音频进行混音、消除环境音、声音特效等上一篇iOS 直播专题2-音视频采集提到视频采集采用的是GPUImage框架,这个框架集成了很多滤镜效果 这里主要介绍美颜、水印处理 处理流程: 美颜 这里的美颜效果用的是GPUImageBeautyFilter 功…

ORA-10873解决办法

今天&#xff0c;发现SAP系统的oracle数据库宕掉了。报错ORA-10873&#xff0c;经过查证解决该问题。记录一下&#xff0c;备忘。 一、问题 Oracle版本为12.1.0.2.0&#xff0c;在启动服务器后启动数据库startup&#xff0c;报错ORA-10873。 二、查证 到SAP Support Portal上…

ORB_SLAM2局部建图线程

局部建图线程入口&#xff1a;可执行程序在初始化三个线程的时候&#xff0c;在System.cc的构造函数中进入局部建图线程 mpLocalMapper new LocalMapping(mpMap, //指定使iomanipmSensorMONOCULAR); // TODO 为什么这个要设置成为MONOCULAR&#xff1f;&#xff1f;&#…

十一连测day1

这次测试&#xff0c;是福建第三中学的某同学出的&#xff0c;感觉难度还行吧&#xff0c;今天我就浅谈一下这场比赛的时间分配与心得 打开题目&#xff0c;看到了T1&#xff0c;这题是一道计数题吧&#xff0c;感觉心态一下子就崩了&#xff0c;100%的数据点应该是组合数学容斥…

iOS 直播专题5-推流

常用的推流协议有: 协议内容RTP实时流传输协议,但不保证服务质量RTCPRTP数据流协议的一个姐妹协议,为RTP提供服务质量反馈SRTP & SRTCPRTP和RTCP的安全版本,提供数据加密、消息认证功能RTSP控制声音或影像的多媒体数据串流协议RTMPADOBE公司播放器与服务器之间多媒体数…

centos6.5-vsftp搭建

我的机子是默认是没有的vsftp。 yum install -y vsftp 创建账户专为ftp而生。useradd ftp01 更改账户不可登录系统。usermod -s /sbin/nologin ftp01 vsftp默认是可以匿名登录的&#xff0c;也是默认的端口&#xff0c;这些不安全选项都要修改&#xff01; anonymous_enableYES…

Linux04-文件系统权限与ACL权限

目录 一、文件系统权限 1.1、认识文件系统权限 1.2、管理文件系统权限 1.3、特殊权限 1.4、默认权限 二、ACL权限 2.1、ACL本质是文件系统的一个挂载选项 2.2、更改文件的ACL权限 2.3、设置文件和目录的默认ACL权限 Linux中的权限管理分为两种类型 用户自主访问控制&…

ORB_SLAM2帧Frame

在追踪线程的一开始就会创建一个帧 cv::Mat Tracking::GrabImageMonocular(const cv::Mat &im,const double &timestamp)构造函数 在构造函数中&#xff0c;会对特征点进行提取。 ExtractORB(0,imGray);特征点分配至网格 将图像划分为48*64的网格&#xff0c;然后将…

Servlet的基本架构

Servlet的基本架构&#xff1a; package test;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Serv…

ORACLE 用户权限管理

Oracle创建用户的语法&#xff1a; CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLY OR IDENTIFIED GLOBALLY AS CNuser [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE temptablespace] [QUOTA [integer K[M] ] [UNLIMITED] ] ON tables…

iOS 直播专题6-流媒体服务器

常用的流媒体服务器有: nginx、SRS、BMS 这里主要介绍nginx、SRS 这里都用docker来运行流媒体服务器 docker 安装 下载Mac版docker stable 直接安装 注册一个docer账号直接登录SRS 安装 SRS guthub地址:https://github.com/ossrs/srs/ 启动上面安装的docker软件后,打开终端…

Linux05-进程管理

目录 一、进程 1.1、进程ID 1.2、列出进程 1.3、进程前后台 二、使用信号控制进程 三、以管理员身份注销用户&#xff08;踢掉在线用户&#xff09; 四、监控进程活动 4.1、负载平均值 4.2、实时进程监控 进程是已启动的可执行程序的运行中的实力。它由以下部分组成&a…

Mat常用赋值方式

参考https://blog.csdn.net/wanggao_1990/article/details/53264753 #include <iostream> #include <opencv2/opencv.hpp> #include <unordered_map> using namespace std; using namespace cv; int main(int argc,char** argv) {// 1Mat mat (Mat_<flo…

java modbus协议

概念 Modbus是一种串行通信协议&#xff0c;Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行。 通讯格式 地址域功能码数据CRC校验(低字节在前)1字节1字节N字节2字节 在单片机硬件通讯串口行业&…

layui栅格布局问题

在使用layer.open弹出到窗口中&#xff0c;使用布局一直不起作用。 开始到写法如下, 目的是一行分成左右两块&#xff0c;比例为8:4等分。 <div class"layui-fluid"><div class"layui-row layui-col-space10"><div class"layui-col-md…

Unity3d载入外部图片文件

unity里的图片在生成时会压缩成资源文件&#xff0c;有时客户想自己放一些图片用unity显示&#xff0c;就必须载入外部图片。 大体思路&#xff1a;用Application.streamingAssetsPath或Application.dataPath来指定存放图片的相对路径。用DirectoryInfo获得目录。遍历后FileInf…

Linux06-服务、守护进程和systemd

目录 一、简介systemd 二、使用systemd 2.1、systemctl命令与systemd单元 2.2、控制系统服务 一、简介systemd RHEL6及以前&#xff0c;系统启动和服务器进程是由第一个进程 init 管理&#xff0c;init按顺序启动、启动慢。 RHEL7以后系统启动和服务器进程由 systemd系统和…