1.什么是linux?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
2.什么是shell?
Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
3.在linux系统下如何运行命令?
桌面右键选择Open Terminal打开shell,在命令提示符后输入动作。出现以下界面:
行提示符含义:
[kiosk@foundation3 ~]$
kiosk 表示用户
@ 表示分隔符
foundation3 表示主机短名称
$ 表示身份提示符$表示普通用户,#表示超级用户
命令由实际的命令语句+需要传递的参数+目标文件组成,如:rht-vmctl start desktop 表示开启虚拟机,实际的命令是rht-vmctl,传递的参数是start,操作的目标是desktop。
虚拟机管理命令:
rht-vmctl start desktop | server 表示开启虚拟机 | 服务器
rht-vmctl poweroff desktop | server 表示关闭虚拟机 | 服务器
rht-vmctl view desktop | server 表示显示虚拟机 | 服务器
rht-vmctl reset desktop | server 表示重置虚拟机 | 服务器
此时虚拟机就被打开了,可以在虚拟机中进行任何操作,如果虚拟机中的重要文件被误删,此时只需要重置虚拟机即可,不必担心电脑被搞坏。
4.linux的系统结构
linux是一个倒树型结构,最大的目录名称是“/”(根目录)
/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。
/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。
/dev:dev 是设备(device) 的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录 没有任何区别。
/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。
/home:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。
/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。
/mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。
/media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。
/opt:这里主要存放那些可选的程序。
/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。
/root:Linux超级权限用户root的家目录。
/sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。
/srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中
/tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。
/usr:这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具
/var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。
/sys: 存放与内核相关的信息
5.linux下的文件管理
1)建立文件
touch file 用来建立空文件,或修改文件的时间戳
touch file1 file2 同时建立多个文件
但是touch建立的文件存放在用户当前的目录下(使用pwd命令可以查看当前路径),我上图中的目录是在/home/kiosk下,因此创建的文件就存放在此路径下。
2)建立目录
mkdir 建立单目录
mkdir -p 建立多层目录
3)文件的删除
rm -f file 强行删除文件不提示
rm -fr dir 强行删除目录本身和里面的内容不提示
4)文件的编辑
vim file
进入文件后是浏览模式,不能编辑
按<i> 进入插入模式写字符
编写完成后按<esc>退出插入模式
输入:wq 完成文件编辑。w表示写入,q退出
此时就完成了文件的编辑。
6.vim使用技巧
1)字符大管理
yy 复制一整行
yl 复制一个字母
yw 复制一个单词
p 粘贴
dd 删除一整行
dl 删除一个字母
dw 删除一个单词
cc 剪掉整行
cl 剪掉一个字母
cw 剪掉一个单词
注意:当剪切后vim会进入插入模式,如果要粘贴需要按<esc>退出插入模式然后粘贴
u 撤销
ctrl+r 恢复
2)字符的批量处理
ctrl + v 进入可视化模式,在可视化模式中可以批量选择字符并操作
批量添加字符:
1)把光标移动到要加入字符所在列
2)ctrl + v 进入可视化模式
3)选中要加字符所在列
4)按<I>进入插入模式并写入要加入的字符
5)按<ESC>批量添加结束
批量修改:
:%s/原有字符/修改后字符/g 修改全文中的该字符
:1,5s/原有字符/修改后字符/g 修改1-5行的该字符
此时就把文中所有的hello修改成了hi
3)同时编辑多个文件
vim file 首先打开file文件
:sp file1 其次打开file1文件
注意:
光标默认在哪个文件中,操作的就是哪个文件
ctrl+w 按完放开,再按上|下可以移动光标所在窗口
编辑完成后在浏览模式下输入:wq保存退出
4)vim的退出
正常退出方法
:q 当文件没有做任何修改时可用
:q! 当文件修改但不保存修改时可用
:wq 退出保存
:wq! 当文件属于自己或用户为root时可用
异常退出
当vim非正常退出会产生.filename.swap文件
当此文件出现,vim工作异常
Found a swap file by the name ".file.swp" <<<异常退出未保存的数据
owned by: root dated: Wed Aug 1 02:59:25 2018
me: ~root/Desktop/file
modified: YES
user name: root host name: localhost
process ID: 2046
h swap file by the name ".file.swp"
owned by: root dated: Wed Aug 1 02:59:25 2018
ile opening file "file"
Swap file ".file.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
只读打开 放弃未保存数据,进入文件 恢复 删除.swp文件 退出 退出
5)文件查看
cat file 输出文件的所有内容
cat -b file 输出文件所有内容并加入行号
less 分页浏览
上|下 向上|向下移动一行
<pgup>|<pgdn> 向上|向下移动一页
/关键字 高亮显示关键字,n向下匹配N向上匹配
q 退出
tail -n file 显示文件的后多少行,默认后10行,若想显示后3行,则输入tail -n 3 file
head -n file 显示文件的前多少行,默认后10行,同上
6)文件复制
cp sourcefile(源文件) destfile(目标文件) 文件复制
cp sourcefile1 sourcefile2 destdir/ 复制多个文件到目录中
cp -r sourcedir destdir/ 复制目录
7)文件的移动
mv sourcefile(源文件) destfile(目的文件) 重名命
mv sourcefile destdir 移动
mv sourcedir destdir 移动目录
mv test/* . "."代表当前目录
在同一磁盘下的文件进行移动时只是进行了文件的重命名操作,不同磁盘下的文件移动则是进行了文件的复制粘贴和删除操作
8)文件路径
(1)相对路径
文件相对当前系统位置的一个名称简写
文件名称省略了当前路径的值
只有当前在此目录中时可以使用
文件名称不以/开头
文件名称会自动在字符前加入'pwd'显示的路径
如:给学校同学说你现在在图书馆,则他可以很顺利的找到你,但如果是校外的人可能就会找不到你了
(2)绝对路径
是文件在系统中真实的位置
任何时间都可以精确表示一个文件的名称
文件名称以/开头
还是刚才的例子,绝对路径就相当于你说你在中国陕西省西安市长安区西安邮电大学图书馆,所有人都可以顺利找到你。
9)关于路径的命令
pwd 显示当前工作目录
cd 切换当前工作目录
cd /mnt 切换到/mnt目录中
cd - 进入当前目录之前所在目录中
cd ~student 进入到student用户家目录