Linux快速入门

一、Linux系统目录结构

以下是对这些目录的解释:


  • /bin:

bin是Binaries(二进制文件)的缩写,这个目录存放者最经常使用的命令

  • /boot:

这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件

  • /dev:

dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设

设备的方式和访问文件的方式是相同的。

  • /etc:

etc是Etcetera(等等)的缩小,这个目录用来存放所有的系统管理所需要的配置文件和

子目录

  • /home:

用户的主目录,在Linux中,每个用户都有一个自己都目录,一般该目录是以用户的账号命名的,如上图中的alice、bob和eve

  • /lib:

lib是Library(库)的缩写这个目录里存放者系统最基本的动态连接共享库,其作用类似

于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库

  • /lost+found:

这个目录一般情况下是空的,当系统非法关机后,这里就存放一些文件

  • /media:

linux系统会自动识别一些设备,例如U盘,光驱等等,当识别后,Linux会把识别的设备

挂载在这个目录下

  • /mnt:

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上

,然后进入该目录就可以查看光驱里的内容了

  • /opt:

opt是optional(可选)的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一

个ORACLE数据库可以放到这个目录下,默认是空的。

  • /proc:

proc 是 Processes(进程) 的缩写/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping机器:

echo 1>/proc/sys/net/ipv4/icmp echo ignore_all

  • /root:

该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:

s就是 Super User 的意思,是 Superuser Binaries(超级用户的二进制文件)的缩写,这

里存放的是系统管理员使用的系统管理程序。

  • /selinux:

这个目录是 Redhat/CentOs 所特有的目录,Selinux 是一个安全机制,类似于 windows

的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv:

该目录存放一些服务启动之后需要提取的数据

  • /sys:

这是 Linux2.6 内核的一个很大的变化该目录下安装了 2.6 内核中新出现的

一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。

当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp:

tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /usr:

usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很

多应用程序和文件都放在这个目录下,类似于windows 下的 program files 目录。

  • /usr/bin:

系统用户使用的应用程序。

  • /usr/sbin:

超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:

内核源代码默认的放置目录。

  • /var:

var 是 variable(变量)的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些

经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应

该被删掉或清除。如果你的系统上有 ar/run 目录,应该让它指向 run。

二、 常用命令

2.1 # 与 $ 提示的区别

'#' 表示用户有root权限,一般的以root用户登录提示符为#, '$'提示符表示用户为普通用户

2.2 查看ip地址:ifconfig

查看ip地址

  • eno1: 代表由主板bios内置的网卡
  • ens1:代表主板bios内置的PCI_E网卡
  • enp2s0: PCI-E独立网卡
  • eth0: 如果以上都不用,则返回默认的网卡名

ens33则属于第二种类型,即说明你的网卡是内置的PCI-E网卡,

这是由网卡特性命名的可以在 /etc/sysconfig/network-scripts/ifcfg-ens33修改名字

如果提示"未找到命令",则需要安装net-tools工具包。

(centos系统中运行: yum install net-tools)

2.3 su:切换用户

su 用户名

2.4 cd

  • cd 目录名 进入目录
  • cd .. 返回上级目录
  • cd ~ 进入当前用户的home目录

2.5 目录查看

  • ls 显示当前目录下的所有文件及子目录
  • ll 以详细信息的方式展示当前目录下的文件及子目录
  • dir 显示当前目录下的所有文件
  • pwd 显示当前路径
  • clear 清空屏幕显示

2.6 查看文件内容

  • cat 只可以查看内容不能编辑
  • vi或vim 可查看可编辑

2.7 创建目录及文件

mkdir 创建目录

语法: mkdir -选项 -参数

选项:

  1. -m 创建目录时同时设置文件的权限
  2. -p 如果上级目录没有创建,即创建输入路径上的所有目录

touch 创建文件

2.8复制和移动

cp 复制

示例:

  • 将文件cangls复制奥tmp目录下

    cp cangls /tmp/

  • 将目录/root/movie下的所有内容, 复制到 tmp目录下(注意:-r 参数有递归复制的意思)

    cp -r /root/movie/ /tmp/

mv 移动或重命名

语法:mv [options] source dest

参数说明:

-i 若指定目录已有同名文件, 则先询问是否覆盖旧文件,i有交互的意思

-f 在mv操作要覆盖某已有的目标文件时不给任何提示,直接覆盖。

2.9 其他

  • reboot 重启系统
  • shutdown -r now 重启
  • shutdown -h row 关机
  • cat /etc/issue 查看当前正在运行的ubuntu的版本号

2.10 tar

  • 命令格式: tar [参数] 文件
  • 常用参数:
  1. x: 从压缩的文件中提取文件 (解压)
  2. c: 建立新的压缩文件(加压)
  3. t:显示压缩的文件
  4. v: 显示操作过程
  5. z: 通过gzip指令来处理备份文件
  • 示例:

tar -czvf test.tar.gz a.c 作用: 压缩 a.c文件为test.tar.gz

tar -tzvf test.tar.gz 作用: 列出test.tar.gz中包含的文件。

tar -xzvf test.tar.gz 作用: 解压文件

tar --exclude=abc/1.txt -zcvf abc.tgz abc 作用: 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tgz

2.11 which

查找可执行文件的位置

示例: which ifconfig

2.12 whereis

查找文件的位置

2.13 find

查找文件或目录
格式: find [位置] [选项] 文件名 -print

示例:

  • 查找etc目录中,所有文件名以host开头的文件。

    find /etc -name 'host*'

  • 查找当前用户的home目录中所有的log文件

    find ~ -name "*.log" -print

  • 查找当前目录及子目录中文件名以一个大写字母开头的文件

    find . -name "[A-Z]*" -print

  • 从根目录查找文件名为test开头的所有文件

    find / -name "test*" -print

  • 从根目录查找文件名为test开头的所有文件

    find / -name "test*" -print

  • 在$HOME目录中查找文件属主为test的文件

    find ~ -user test -print

  • 查找属主帐户已经被删除的文件,可以使用-nouser选项。在/home目录下查找所有的这类文件

    find /home -nouser -print

  • 在/apps目录下查找属于gem用户组的文件

    find /apps -group gem -print

  • 查找没有有效所属用户组的所有文件

    find / -nogroup -print

  • 从根目录开始查找5天内被更改的文件

    find / -mtime -5 -print

  • 在目录/etc中查找3日之前更改的文件

    find /etc -mtime +3 -print

  • 在/etc目录下查找所有的目录

    find /etc -type d -print

  • 在/etc目录下查找所有的符号链接文件

    find /etc -type l -print

2.14 chmod

改变文件的存取权限
命令格式:
chmod [options] mode files

mode:

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
  • 表示增加权限、- 表示取消权限、= 表示唯一设定权限
  • r 表示可读取,w 表示可写入,x 表示可执行

options:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f: 文件权限无法修改,不显示错误信息
  • -r: 对当前目录下的所有文件和子目录进行递归修改

示例:

  • 给file文件的所有者增加可执行权限

    chmod u+x file

  • 给file的所有者分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

    第一种方式: chmod 751 file

    第二种方式: chmod u=rwx, g=rx, o=x file

  • 为所有用户分配读权限

    chmod =r file

    chmod a-wx, a+r file

    这两种命令作用相同

  • 递归地给directory目录下所有文件和子目录的所有者分配读的权限

    chmod -r u+r directory

三、vim一般使用

i 进入编辑模式,vim打开文件后,默认在命令模式,点击i键方可进入编辑模式

esc 点击esc键退出编辑模式,这是可以输入':'输入命令。

|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------|
| 符号 | 意义 |
| i | 进入编辑模式,vim打开文件后,默认在命令模式,点击i键方可进入编辑模式 |
| esc | 退出编辑模式,进入命令模式 |
| :w | 写入 |
| :q | 退出,如果修改了内容则这种不能退出,如果需要强制退出则使用q! |
| :wq | 写入并退出 |
| :q! | 强制退出,不写入 |
| dd | 删除当前行(编辑模式下) |
| ndd | 删除n行(编辑模式下) |
| /string | 搜索字符串(编辑模式下), 按n查找下一个,N上一个,/str表示匹配行尾的str, 在查找模式中加入\\c表示大小写不敏感查找,\\C表示大小写敏感查找,例如:/foo\\c将会查找所有的"foo","FOO","Foo"等字符串 | | **:s** | (substitute)命令用来查找和替换字符串,语法::{作用范围}s/{目标}/{替换}/{替换标志}; 例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g),:s/foo/bar/g 替换当前行,:%s /foo/bar /g 全局替换 | | **:%d** | %是匹配所有行,d是删除的意思, 该命令将清空打开的文件的内容 | | **:** | 跳到文件尾部 |
| :n | 跳到n行 |
| u | 撤销上一步的操作 |
| Ctrl+r | 恢复上一步被撤销的操作 |

四、SSH介绍

4.1 什么是SSH

SSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全

4.2 SSH服务端和客户端

(1)SSH服务端是一个守护进程,一遍为sshd进程,在后端运行并响应来自客户端的请求。

(2)SSH客户端常用的有BvSsh,SecureCRT,putty等。

4.3 基本工作机制
  1. 客户端发送一个请求到服务端
  2. 服务端做数据验证,如包及ip地址等,在发送一个秘钥给ssh客户端
  3. 客户端再将密钥发回服务端,自此建立连接
相关推荐
breaksoftware18 分钟前
Windows Subsystem for Linux——设置默认登录用户名
linux·运维·服务器
PyAIGCMaster1 小时前
ubuntu装P104
服务器·网络·ubuntu
云云3212 小时前
云手机服务器如何做到群控多台手机的?
服务器·线性代数·安全·智能手机·矩阵
梁萌3 小时前
Linux安装Docker
linux·运维·docker·helloworld·容器化部署
翱翔-蓝天3 小时前
在 CentOS 系统上安装 ClickHouse
运维·docker·容器
彩虹糖_haha4 小时前
Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
linux·运维·服务器
旺仔学IT4 小时前
Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
linux·运维·centos
qq_433618445 小时前
shell 编程(五)
linux·运维·服务器
VVVVWeiYee5 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
lifeng43216 小时前
Jenkins集成部署(图文教程、超级详细)
运维·jenkins