Linux

什么是计算机

能够接收使用者输入的指令与数据,经由中央处理器的算术与逻辑单元运算处理后,以产生或存储有用的新数据。比如计算器,手机,汽车导航系统,提款机,桌面电脑,手提电脑等。

计算机的硬件组成

计算单元和控制单元(CPU) 输入单元(键盘,鼠标) 输出单元(显示器,打印机) 存储单元(硬盘,u盘,内存条)

操作系统

用来管理计算机硬件和其他软件的计算机程序,没有操作系统的计算机,就是一堆废铁。 常见的PC端操作系统:windows,linux,mac 常见的移动端操作系统:鸿蒙系统(大力支持),ios,Android等

文件系统[win+E]

用来管理文件(数据)的软件程序。 ​ 通常其组织结构都是树形结构

Linux 简介

- 是一款免费的,开源的类Unix操作系统,支持多用户,多任务,多线程,多cpu
- 支持32位和64位
- Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
- Linux也继承了Unix的文件设计思想,一切皆文件(文件夹也是文件)
- Linux之父是“托瓦斯林纳斯”

常见的Linux版

Red Hat系列:其中就有RedHat,CentOS(社区里用,克隆RedHat) Debin系列:其中就有Debin,Ubuntu

用途

Linux企业服务器 (常用) 嵌入式系统:Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、智能家电等嵌入式系统。 电影娱乐行业:电影后期特效处理。

VMware的安装(模拟硬件Linux)

  1. VMware的简介 是一款虚拟化工具。可以帮助用户来模拟计算机硬件,比如模拟计算机的内存条,磁盘,cpu,输入和输出设备。然后这些硬件模拟出来后,用户就可以在这个基础上安装OS(操作)。

  2. vmware的安装

    安装vmware16. 双击,点击下一步即可。

    注意:如果安装成功,那么在物理机的网络适配器里,应该会多出两个VMware NetWork Adapter。 一个是VMnet1, 一个是VMnet8.

    破解:百度上搜VMware16激活码。

注意:如果想要在vmware中安装OS,那么物理机的BIOS必须开启虚拟化支持。

Linux的安装

第一大步:使用vmware先虚拟化一台硬件机器 文件-->新建虚拟机-->典型-->稍后安装操作系统 -->选择Linux,并选择CentOS 7 64位 --> 虚拟机名称: test01 位置:最好改成其他盘符 --> 磁盘大小: 50G, hadoop之后一定要50G以上 单个文件和多个文件,哪一个都行。 -->自定义硬件 内存:2G 处理器: 1个cpu,2个核 新CD/DVD: 指定要安装的OS的映像文件 删除声卡和打印机, 确定即可 最终完成

    ---------------------到此为止,硬件模拟完成----------------------  
  1. 安装OS 开启此虚拟机-->选择install centos...... -->简体中文 -->设置分区:自动或者自定义 自定义: +键 /boot 300M /swap(磁盘交换空间) 1024M / 剩下的全部给根

         接受更改

    --> 安装 --> 安装期间设置root的密码或者是新用户 超级管理员:root 密码:123123 --> 重新加载 --> 成功启动了,开心的玩吧。

Linux基础命令

  1. 进入命令行界面的提示符解析 [root@localhost ~]# root位置: 登录用户名 @: 连接符号 localhost位置: 本机的主机名 ~位置: 当前的所在位置 #位置: 表示是超级管理员还是普通用户 超级管理员则使用# 普通用户则使用$

    eg: 如果登录名为scott,主机名为qianfeng01, 当前位置为/home/soft/tencent/wechat/ 那么提示符的样子: [scott@qianfeng01 wechat]$

  1. 命令格式的说明(格式标明时的中括号一般情况下都表示可有可无)

    格式如下: [scott@qianfeng01 wechat]$ command -option [参数] eg: ls -la /usr

    说明:

    • 大部分命令遵从该格式

      • 多个选项时,可以一起写 eg: ls –l –a ls –la

      • 简化选项与完整选项(注:并非所有选项都可使用完整选项) eg: ls –all ls –a

三个最常用的指令

1.pwd : print current work directory三个单词的简写 作用就是以绝对路径的形式显示当前的位置所在 eg: [root@localhost network-scripts]# pwd /etc/sysconfig/network-scripts [root@localhost ~]# pwd /root

2.ls : list directory contents的简写 作用,就是列出指定目录下的内容(文件,子目录等) eg: ls 默认列出当前工作空间里的内容 常用的选项: -l : 列出每个子文件的属性详情 -a : 显示所有的内容,包括隐藏的 -S : 以大小进行降序排序显示, 尽量与-h,-l一起使用 -h: 以方便人类可读的显示效果显示大小的单位,比如k,MB,G eg: ls -l 显示属性详情, 可以简化写: ll eg: ls -a 显示所有包括隐藏的内容 eg: ls -l -a 显示所有包括隐藏的内容的属性详情 ,简化写:ll -a 或者ls -la eg: ls -lhS 显示当前目录下的所有内容,并降序排序 eg: ls -lhS /etc 显示指定目录/etc下的所有内容,并降序排序

3.cd : change directory的简写, 切换工作空间。 注意:是一个特殊指令,特殊在是一个shell内置指令。

cd [target directory] eg: cd 回家 eg: cd ~ 回家 eg: cd - 回到上一次的位置 eg: cd /etc 切换到/etc下 eg: cd .. 回到上一级目录(父目录) cd . 表示不动

帮助指令

man指令

作用:查看指定命令的帮助文档 语法: man 指令 eg: man ls man pwd man cd

help指令

作用:查看指定命令的主题信息 语法: help 指令

注意: 不是所有的指令都有主题信息

info指令

作用:用来查看指令命令的详细信息 语法: info 指令

文件处理指令

touch

作用:用于创建一个空文件 语法: touch filename..... eg: [root@localhost etc]# touch file1 file2 file3 [root@localhost etc]# pwd /etc [root@localhost etc]# touch ~/file4 [root@localhost etc]# touch ~/{file5,file6} [root@localhost etc]# ls ~ anaconda-ks.cfg file1 file2 file3 file4 file5 file6

mkdir

作用:用于创一个目录 语法:mkdir [-p] dirname.....

[root@localhost ~]# mkdir dir1 [root@localhost ~]# mkdir ./dir2 ./dir3 [root@localhost ~]# cd /etc [root@localhost etc]# mkdir ~/{dir4,dir5} [root@localhost etc]# mkdir ~/dir6/dir66 #会报错,因为dir6不存在,所以不能创建dir66 [root@localhost etc]# mkdir -p ~/dir6/dir66 #表示多层级创建目录 [root@localhost etc]# ls -l ~ 总用量 4 -rw-------. 1 root root 1259 11月 29 19:03 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 11月 29 22:32 dir1 drwxr-xr-x. 2 root root 6 11月 29 22:33 dir2 drwxr-xr-x. 2 root root 6 11月 29 22:33 dir3 drwxr-xr-x. 2 root root 6 11月 29 22:33 dir4 drwxr-xr-x. 2 root root 6 11月 29 22:33 dir5 drwxr-xr-x. 3 root root 19 11月 29 22:34 dir6 -rw-r--r--. 1 root root 0 11月 29 22:28 file1 -rw-r--r--. 1 root root 0 11月 29 22:28 file2 -rw-r--r--. 1 root root 0 11月 29 22:28 file3 -rw-r--r--. 1 root root 0 11月 29 22:29 file4 -rw-r--r--. 1 root root 0 11月 29 22:30 file5 -rw-r--r--. 1 root root 0 11月 29 22:30 file6 [root@localhost etc]# ls ~/dir6 dir66

rm

作用:删除文件或者是目录 语法:rm [-rf] filename ..... eg:

[root@l ocalhost ~]# ls anaconda-ks.cfg dir1 dir2 dir3 dir4 dir5 dir6 file1 file2 file3 file4 file5 file6 [root@localhost ~]# rm file1 rm:是否删除普通空文件 "file1"?y [root@localhost ~]# ls anaconda-ks.cfg dir1 dir2 dir3 dir4 dir5 dir6 file2 file3 file4 file5 file6 [root@localhost ~]# rm dir1 rm: 无法删除"dir1": 是一个目录 [root@localhost ~]# rm -f file2 [root@localhost ~]# ls anaconda-ks.cfg dir1 dir2 dir3 dir4 dir5 dir6 file3 file4 file5 file6 [root@localhost ~]# rm -r dir1 rm:是否删除目录 "dir1"?y [root@localhost ~]# ls anaconda-ks.cfg dir2 dir3 dir4 dir5 dir6 file3 file4 file5 file6 [root@localhost ~]#

总结: 默认情况下,是有询问的删除文件,输入y表示删除,输入n表示不删除 如果想要强制删除文件,添加-f, 但是要慎用。

mv

作用:移动文件或者目录,有更名作用 语法: mv [OPTION]... SOURCE... DIRECTORY

eg: [root@localhost ~]# ls anaconda-ks.cfg dir2 dir3 dir4 dir5 dir6 file3 file4 file5 file6 [root@localhost ~]# mv file3 file4 dir2 dir3 # 将file3 file4 dir2 移动到dir3里 [root@localhost ~]# ls anaconda-ks.cfg dir3 dir4 dir5 dir6 file5 file6 [root@localhost ~]# ls dir3 dir2 file3 file4 [root@localhost ~]# mv file6 dir3/file7 #将file6移动到dir3里并更名为file7 [root@localhost ~]# ls dir3 dir2 file3 file4 file7 [root@localhost ~]#

cp

作用:拷贝文件或者是目录 语法:cp [-r] source....directory

eg: [root@localhost ~]# rm -rf ./* 删除当前目录下的所有非隐藏文件 [root@localhost ~]# touch file1 file2 file3 [root@localhost ~]# mkdir dir1 dir2 dir3 [root@localhost ~]# ll 总用量 0 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir1 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir2 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir3 -rw-r--r--. 1 root root 0 11月 29 23:04 file1 -rw-r--r--. 1 root root 0 11月 29 23:04 file2 -rw-r--r--. 1 root root 0 11月 29 23:04 file3 [root@localhost ~]# cp file1 dir1 # 拷贝file1到dir1里 [root@localhost ~]# ll 总用量 0 drwxr-xr-x. 2 root root 19 11月 29 23:04 dir1 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir2 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir3 -rw-r--r--. 1 root root 0 11月 29 23:04 file1 #源文件依然存在 -rw-r--r--. 1 root root 0 11月 29 23:04 file2 -rw-r--r--. 1 root root 0 11月 29 23:04 file3 [root@localhost ~]# ls dir1 # 查看dir1里的内容 file1 [root@localhost ~]# echo "helloworld" > file2 #写一些字符串到file2文件里 [root@localhost ~]# ll 总用量 4 drwxr-xr-x. 2 root root 19 11月 29 23:04 dir1 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir2 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir3 -rw-r--r--. 1 root root 0 11月 29 23:04 file1 -rw-r--r--. 1 root root 11 11月 29 23:05 file2 -rw-r--r--. 1 root root 0 11月 29 23:04 file3 [root@localhost ~]# cp file2 dir1/file22 # 复制file2到dir1里同时更名为file22 [root@localhost ~]# ll dir1 总用量 4 -rw-r--r--. 1 root root 0 11月 29 23:04 file1 -rw-r--r--. 1 root root 11 11月 29 23:05 file22 [root@localhost ~]# cp file3 file4 #拷贝并更名 [root@localhost ~]# ll 总用量 4 drwxr-xr-x. 2 root root 33 11月 29 23:05 dir1 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir2 drwxr-xr-x. 2 root root 6 11月 29 23:04 dir3 -rw-r--r--. 1 root root 0 11月 29 23:04 file1 -rw-r--r--. 1 root root 11 11月 29 23:05 file2 -rw-r--r--. 1 root root 0 11月 29 23:04 file3 -rw-r--r--. 1 root root 0 11月 29 23:07 file4 [root@localhost ~]# cp dir2 dir3 # 拷贝目录时, 不带参数-r,会忽略目录 cp: 略过目录"dir2" [root@localhost ~]# ll dir3 总用量 0 [root@localhost ~]# cp dir1 dir3 cp: 略过目录"dir1" [root@localhost ~]# ll dir3 总用量 0 [root@localhost ~]# cp -r dir1 dir3 # 如果想要拷贝目录,应该带上-r参数,表示递归拷贝 [root@localhost ~]# ll dir3 总用量 0 drwxr-xr-x. 2 root root 33 11月 29 23:08 dir1

ln

作用:创建链接文件

语法:ln [-s] filename newfilename

linux 的链接文件分为:

软链接文件:相当于window的快捷方式,文件和目录都可以有软链接。

硬链接:文件可以有硬链接,文件夹(目录)不能有硬链接。

注意:对linux的文件系统设计宗旨:一切皆文件,那么一定占磁盘空间而且每个文件都有唯一标识符inode

软链接是一个新文件(新文件占磁盘空间,有自己的inode),只不过磁盘空间里记录的是一个文件的位置信息。

硬链接:能理解为是文件块的另一个别名,没有新的Icode,与原来的名字公用一个inode

删除硬链接,就是删除了别名,那么文件块的inode没有被任何别名引用,不影响硬链接,可能影响软链接

删除软链接,其实就是删除了软链接名对应的文件块,并不会删除源文件

echo

作用: 用于展示一行文件信息 语法: echo 字符串|环境变量名

[root@localhost ~]# echo you are best # 打印一串字符,到控制台 you are best [root@localhost ~]# echo "you are best" you are best [root@localhost ~]# echo $HOME #打印HOME变量的值 /root [root@localhost ~]# echo $PATH #打印PATH变量的值 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost ~]# echo $HOSTNAME #打印HOSTNAME变量的值 localhost.localdomain

文件查看指令

cat

作用: 查看整个文件的内容 语法: cat [-An] filename 解析: -A 显示隐藏的字符 -n 显示行号

more/less

作用: 用于分页查看文件内容 语法: more filename 解析: 默认查看第一页内容 空格键/f键 查看下一页 enter键: 一行一行的滚动 b :往回翻页 q|Q: 退出

head

作用: 查看文件的头部信息,默认查看10行 语法: head [-number] filename 解析: 如果想要查看指定行数,添加-数字

tail

作用:查看文件的末尾信息,默认查看10行 语法: tail [-number] filename 解析: 如果想要查看指定行数,添加-数字

文件查找指令

find

作用:是可以根据指定类型参数,来查找文件系统中的文件或者是目录的 语法: find 搜索位置 条件 eg:

[root@localhost ~]# find /etc -name 'init' 按照名字查找init开头的文件或目录 /etc/inittab /etc/sysconfig/init /etc/sysconfig/network-scripts/init.ipv6-global /etc/init.d /etc/rc.d/init.d /etc/selinux/targeted/active/modules/100/init /etc/selinux/targeted/contexts/initrc_context [root@localhost ~]# find /etc -name 'init' 按照名字为init的文件或目录 /etc/sysconfig/init /etc/selinux/targeted/active/modules/100/init [root@localhost ~]# find /etc -name 'in??' 按照名字查找in开头并且长度为4的文件或目录 /etc/sysconfig/init /etc/selinux/targeted/active/modules/100/init [root@localhost ~]# find /etc -name '?i' 按照名字查找第二个字符是i的文件或目录

find /etc -type d 查看/etc下的所有目录,包括子目录 d:目录 l:软链接, f:普通文件 find /etc -size -1024 find /etc -size +2K -size -3k 单位: k,M,G等

注意: 默认单位为一个block 一个block相当于512byte 如果想要查询小于100MB的文件, 1001024KB 1001024*2block 所以:find /etc -size -204800 find /etc -size +1024 查看大于512KB的文件

grep

作用:用于过滤查询文件内容 语法:grep [-cinv] '搜寻字符串' filename

-c :输出匹配行的个数(是以行为单位,不是以出现次数为单位) -i :忽略大小写,所以大小写视为相同 -n :显示匹配行及行号 -v :反向选择,显示不包含匹配文本的所有行。

eg: [root@localhost ~]# grep -i HOST ./profile 忽略大小写的查找host所在的行信息 [root@localhost ~]# grep -ci HOST ./profile 忽略大小写的查找host所在的行的数量 [root@localhost ~]# grep -in HOST ./profile 忽略大小写的查找host所在的行信息以及行号 [root@localhost ~]# grep -v HOST ./profile 查找除了HOST所在的行的其他行的信息

时间指令date

作用:查看或者设置时间 reg: date 查看系统当前时间 以自定义的方式显示系统时间: date +'%Y-%m-%d %H:%M:%S'

注意:+与字符串之间不能有空格,与date之间要有空格

设置时间 eg: date -s "2015-5-8 19:48:00"

同步到bios,重启之后才能继续生效 eg: hwclock -w

作用:查看时间或者修改时间 ]$ date "+%Y-%m-%d %H:%M:%S" 更改输出样式 ]$ date -s "2019-08-05 11:25:00" 设置时间 ]$ date -d "10 days ago" "+%Y-%m-%d %H:%M:%S" 获取10天前的时间 ]$ dt=date -d "10 days ago" "+%Y-%m-%d %H:%M:%S" ]$ echo $dt

VIM/VM

命令模式(一般模式)

用户对一个文件启动 Vim/Vi,便进入了命令模式(也称为一般模式)。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。在此模式下,可以通过命令对文件内容进行删除,复制,粘贴等行为,可以理解为快捷键操作

插入模式(编辑模式)

在命令模式下,输入i, I, o, O, a, A, r, R等任意命令,便会立即进入插入模式(也称之编辑模式),在这个模式下,我们才可以对文件进行详细的编辑,比如使用退格键,删除键,回车键等各式各样的文本编辑了。按【ESC】键回到命令模式

底行命令模式

在命令模式下,输入字符【:?/】三个中的任意一个,就会来到底线命令模式下。在这个模式下,我们可以完成搜索、读取、存档、离开Vim/Vi等很多行为。按【ESC】键回到命令模式

常用命令(一般模式下使用)

H:移动到当前屏幕的最上一行的行首 M:移动到当前屏幕的中间一行的行首 L: 移动到当前屏幕的最下一行的行首 gg:移动到这个文件的第一行,相当于1G (常用) G:移动到这个文件的最后一行(常用) NG: 移动这个文件的第N行 x, X:在一行字符中,x表示向后删除一个字符(相当于del键),X为向前删除一个字符(相当于退格键) (常用) nx:n为数字,连续向后删除n个字符。 dd:刪除游标所在的那一行(常用,也是剪切) ndd:n为数字。删除游标所在的向下n行(常用) d1G:刪除游标所在到第一行的所有行数据 dG:刪除游标所在到最后一行的所有行数据 yy,Y:复制游标所在的那一行数据(常用) nyy,nY:n 为数字。复制游标所在的向下n行(常用) p, P:p表示将复制的数据粘贴到游标所在行的下一行,P表示将复制的数据粘贴到游标所在行的上一行 (常用) u:撤销前一个动作。(常用)

  • 27
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值