操作系统
硬件(cpu+内存+等) + 软件(系统软件 + 应用软件) = 操作系统
操作系统:管理硬件和程序的一套系统软件。包含内存管理、cpu处理器管理、文件系统管理、进程管理、外设管理等。
服务器常见发行版本
CentOS、RedHat
Ubuntu
(发行版本是指:各种组织和单位采用linux内核+GUN工具+shell+各种软件,编译及包装成自己的linux版本)
系统信息查看
1.1 关机
(1)立即关机(三种方法)shutdown -h now 或 init 0 或 halt
(2)按预定时间关机shutdown -h hours:minutes
(3)取消按预定时间关机shutdown -c
2.1目录和文件操作
目录操作
(1)进入/home 目录 cd /home
(2)返回上一级目录 cd ..
(3)进入个人目录 cd
(4)进入个人主目录 cd ~user1
(5)返回上次所在的目录 cd -
(6)显示当前工作路径 pwd
(7)查看目录下文件 ls
(8)显示文件和目录的详细资料 ls -l
(9)显示隐藏文件 (文件名前带. 的文件就是隐藏文件) ls -a
(10)创建一个叫做 dir1 的目录 mkdir dir1
(11)删除一个叫做 file1的文件 rm -f file1
(12)删除一个叫做dir1的目录 rmdir dir1
(13)删除一个叫做dir1的目录并同时删除目录下的文件 rm -rf dir1
(14)同时删除两个目录及其文件 rm -rf dir1 dir2
(15)重命名或移动一个目录 mv dir1 new_dir
文件操作:
(1)创建 一个空文件file1 touch file1
(2)编辑文件file1(输入小写i 进入编辑模式,编辑完成后点击Esc键退出保存,输入:wq!保存并退出) vim file1
(3)查看文件file1 cat file1
(4)拷贝文件file1 命名为file2 cp file1 file2
(5)拷贝dir目录下的所有文件到当前工作目录 cp dir/* .
(6)复制目录 cp -a dir1 dir2
(7)创建一个指向文件的硬链接 :硬链接就是一个文件的别名 硬链接只能对文件创建存放的是另一文件的路径名的指向 ln file1 lnk1 或 link file lnk1
(8)创建一个指向文件或目录的软链接:加-s就表示软链接,软链接删除不影响被指向的文件,但原文件删除,着软链接失效软链接就是快捷方式 ln -s file1 lnk1
2.3 文件搜索
(1)从根目录下查找文件名称为 mysql的文件 find / -name mysql
(2)搜索输入用户 root 的目录和文件 find -user root
(3)搜索 /home/user1 目录下 以.bin 结尾的文件 find /home/user1 -name \*.bin
(4)从根目录下 / 搜索在过去100天未被使用过的文件 find / -type f -atime 100
(5)从根目录下搜索在近10天内被创建或修改过的文件 find / -type f -mtime 10
(6)显示可执行文件的完整路径 (命令格式 which 可执行文件名称) which mysql 查看mysql的位置,返回mysql的路径
2.4 文件系统挂载
linux系统所有文件都放置在根目录下,硬件设备也是文件,当linux系统使用这些硬件设备时,需要把硬件设备与目录关联
挂载:将设备文件中的顶级目录连接到 Linux 根目录下的某一目录(最好是空目录),访问此目录就等同于访问设备文件。
(1)查看系统中已经挂载的文件系统 mount 查询结果:/dev/sda3 on /boot type ext4 (rw) #含义是,将/dev/sda3分区硬件设备挂载到了linux服务器的/boot目录上 文件系统是ext4,具有读写权限
(2)创建挂载点,并进行挂载分区 mkdir /mnt/disk1 # 创建新的空文件夹
(3)导入iso文件到/root 目录下,并挂载iso镜像到mnt目录下
mount /dev/sdb1 /mnt/disk1 # 把/dev/sab1设备挂载到 /mnt/disk1目录下 rz # 上传本地iso文件至linux服务器的/root目录下
-o loop 参数将系统文件 模拟成一个磁盘
mount -o loop CentOS-7-x86_64-DVD-1611.iso /root # 挂载iso文件到/root目录下
df -h # 查看系统磁盘挂载
纠正一个误区,并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。Linux 系统使用任何硬件设备,都必须将设备文件与已有目录文件进行挂载。举个例子,我们想通过命令行访问某个 U 盘中的数据,图 1 所示为 U 盘文件目录结构和 Linux 系统中的文件目录结构
上图可以看到,目前 U 盘和 Linux 系统文件分属两个文件系统,还无法使用命令行找到 U 盘文件,需要将两个文件系统进行挂载。接下来,我们在根目录下新建一个目录 /sdb-u,通过挂载命令将 U 盘文件系统挂载到此目录,挂载效果如下
2.5 文件内容查看
(1)从第一行开始查看文件内容 cat file1
(2)从最后一行开始查看文件内容 tac file1
(3)查看一个文件的内容,并支持敲Enter键向下翻页 more file1
(4)查看一个文件的内容,并支持使用上下箭头翻页 less file1
(5)查看一个文件的前两行 head -2 file1
(6)查看一个文件的后两行 tail -2 file1
(7)实时查看一个目录下文件内容的更新 tail -f /var/log/cron
2.6 文本文件处理
(1)输出file1文件中,包含root字符串的行 (2种方式) cat file1 | grep root
(2)在file1文件中找到以root开头的行
grep root file1 grep ^root file1
(3)在目录/var/log及其随后的目录中,搜索包含字符串root的行 grep root -R /var/log/*
(4)将test.txt 文件中的aaa 替换成 bbb (重点:字符串替换) sed 's/aaa/bbb/g' test.txt
(5)删除文件test.txt文件的第一行 sed -e '1d' test.txt
(6)查看test.txt文件,只包含aaa的行 sed -n '/aaa/p' test.txt
(7)查看文件test.txt文件,从第1至5行的内容 sed -n '1,5p' test.txt
(8)取出2个文件的并集 sort file1 file2 | uniq
(9)删除2个文件的交集,留下其他 sort file1 file2 | uniq -u