欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux01-基本命令行操作

程序员文章站 2022-04-29 11:02:03
...

一、环境

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来开启、查看、重置虚拟机。

[aaa@qq.com ~]$ rht-vmctl start server
[aaa@qq.com ~]$ rht-vmctl view server
[aaa@qq.com ~]$ rht-vmctl reset server

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

2.1 Linux目录结构

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

Linux01-基本命令行操作

在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,设备文件,用于访问硬件。

2.2 Bash基本操作

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

[aaa@qq.com ~]$ pwd
/home/student
[aaa@qq.com ~]$ 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
[aaa@qq.com ~]$ cd /usr/bin/
[aaa@qq.com bin]$ pwd
/usr/bin

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

[aaa@qq.com ~]$ ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .cache  .config  .ssh
[aaa@qq.com ~]$ 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
[aaa@qq.com ~]$ ls -R ./.config/
./.config/:
abrt  gnome-initial-setup-done  monitors.xml

./.config/abrt:
[aaa@qq.com ~]$ 

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

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

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

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

[aaa@qq.com d1]$ host=kevin
[aaa@qq.com d1]$ echo "***hostname is ${host}***"
***hostname is kevin***
[aaa@qq.com d1]$ echo '***hostname is ${host}***'
***hostname is ${host}***
[aaa@qq.com d1]$ echo "***hostname is \${host}***"
***hostname is ${host}***

 

相关标签: Linux