[toc]
==如何使用Linux==
1 如何使用Linux
1.1直接在上面操作(虚拟机,物理机)
1.2图形界面
1.3 远程操作
xshell putty iterm走 ssh 协议 端口号22
http 80
ftp 21
[root@localhost ~]
root # 当前登录的用户
localhost #当前的主机名 也就是 hostname
~ #root 用户的家目录
# #超级管理员正在输入 普通用户是 $
2 一些简单的命令
whoami #查看当前登录用户
date # 查看当前日期
cal # 同上
cal 年份 # 查看 年度日期
sync # 将内存中的数据同步到硬盘中 关机 或者 重启之前 一定要执行以下 重要
shutdown # 关机
shutdown -h now #立马关机
shutdown -h 9:25 "妈妈喊你回家吃饭 " ;
halt #立马关机
power off # 关机
reboot #重启
restart #服务的重启
su #切换用户
ifconfig #查看ip地址 网卡信息 windows 中 用 ipconfig ipconfig /all
ping #查看网路是否通信
ctrl+c # 终止
services.msc # windows 打开服务
cacl #计算器
regedit.exe # 注册表
cleanmgr #磁盘清理
lusrmgr.msc # 本地用户和组
logoff # 注销用户
notepad # 打开记事本
shutdown #60秒倒计时关机
3 常见命令不执行的原因
- 命令输入错误
- 中间有空格
- 比如 vim 再没有安装的情况下 vim /etc/sysconfig/network-scripts 会报错 用 yum -y install vim
4 linux目录结构
Linux 所有的 都是以文件的形式存在 包括终端设备 比如 打印机 光驱 显示器
/ #根目录 也就是 顶级目录
/bin #存放经常使用的命令 普通用户 可以使用
/sbin #存放管理员使用的命令
/boot # 启动Linux的核心文件
/dev #存放Linux的外部设备 访问外部设备跟访问文件是一样一样的
/usr #是一个很重的目录 应用程序放在这里 好比 windows 的 program files
/home # 用户的家目录 除了root 用户之外的家目录
/etc #这里存放系统的配置文件
/media # 系统自动识别外部设备 比如 usb 默认需要挂载到 这个目录下
/mnt # 临时的挂载目录
/root # 和 ~ 是一样的 表示这是 root 用户的家目录
/lib #存放系统最基本的动态连接库 几乎所有的 bin目录下的命令都会用到这些共享库 类似于window的 dll文件
/lib64 #64位操作系统的共享库
/lost+found # 默认为空 非法关机 会存放一些文件
/opt #额外的安装目录
/tmp # 临时的目录
/proc # 存放系统的相关信息 这些信息存放在 内存中 而不是 硬盘中
/sys # 存放驱动的实时信息
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/selinux #类似于window 的防火墙 就是一个软件 Redhat 和 centos 特有的
/srv #系统启动 需要从这里提取信息
5 终端快捷键
快捷键 | 作用 |
---|---|
Ctrl+C | 立即终止 |
Ctrl+A | 回到命令行的头部 |
Ctrl+E | 回到命令行的尾部 |
Ctrl+U | 清除命令行 |
Ctrl+L | 清空屏幕 |
clear | 清空屏幕 |
Tab | 自动补全 |
5 文件相关的操作命令
cd # 切换目录 doc 也是用cd
cd 空 # 切换到的是用户的家目录
cd ..切换到上一级目录 支持相对路径和绝对路径
cd . #表示还是在当前目录下
cd ../../
pwd #查看当前在哪个目录下
ls # 列出当前目录
ls -l #详细查看 目录信息
ls -a #列出所有 包括隐藏文件 和 目录
ls -al #详细列出所有的 目录及文件 包括隐藏的
touch 【文件名 】 #创建文件
rm 【文件名】 #会有提示 y 删除 N 不删除
rm -f 【文件名】#强制删除 不提示
mkdir [目录名] # 创建文件夹(目录)
mkdir /wenjie/zhaoqiang
mkdir -p [目录名/目录名] # 递归创建 套娃
rm -rf #强制删除 目录以及目录里边的文件
echo '种花多没意思,咱们一起种草莓吧' > /wenjie/test.php #输出到文件中
echo '########' >> /wenjie/test.php #追加到文件中
Linux 可以不需要后缀名 加上 仅仅是 为了 区分
6 文件类型
1. 普通文件
2. 目录
3. 设备
-rw-r--r-- 1 root root 0 6月 10 05:32 .autorelabel
dr-xr-xr-x 2 root root 4096 6月 12 17:39 bin
第一部分
- “-” 代表文件 黑色
- d 代表目录 蓝色
- l 代表 链接 浅绿
第二部分
权限
第三部分
inode 节点
文件由 iNode节点和数据区组成 inode 节点存放着文件类型 和UID 以及权限 真正的数据存放在数据区
一个inode 128B 一个文件至少有一个inode
第四部分
root root #第一个root 表示用户 第二个root 表示 所在组
第五部分
文件的大小
第六部分
修改时间 mtime
第七部分
文件或者目录的名字
7 权限问题
可读可写可执行
用户和组 一个用户 只能属于一个组 一个组可以有多个用户
软件 也是要以用户的身份运行
d rwx r-x r-x
- d 表示 是个目录
- rwx 拥有者的权限
- r-x 所属组的权限
- r-x 其他人的权限
r 读 w 写 x 执行
rwx 可读可写可执行
r-x 可读 可执行 不可写
–x 可执行 不可读写
r 4
w 2
x 1
rwx rwx rwx 777
rwx r-x r-x 755
rw- rw- rw- 666
rw- — — 600
chmod 777 【文件 或者 目录的名字 】
chmod +x 表示给文件或者目录增加了 执行的权限
chmod -R 777 递归增加权限
chmod 只是用来改变文件 的 读写执行权限 更底层的 需要用 chattr
i 不能删除 改名 设定链接关系 或者不能写入 或者 添加新的
chattr +i /etc/sysconfig/ # 防止被修改
chattr -i # 解封
chattr +a #只能追加 不能删除 适用于日志 等文件
8 搜索文件
which ls # ls存在的目录
whereis ls #同上
find / -name 要查找的名称
-- help #每个命令都有自己的 --help
man #命令的手册 就好比 tp5 手册
yum -y install man
用法
man ls
man -f ls #查看是否存在同名手册
9 Linux文件系统
window | linux | maxos |
---|---|---|
NTFS | 1.ext4 | HFS |
FAT32 | 2.ext3 | |
3. | 3.ext2 |
10 链接、复制和移动
ln -s 【目录名】 【链接名称】 # 创建软链接
cp [旧文件] [新文件] # 备份 ctrl+C Ctrl+V
cp -r # 递归复制
mv 【文件/目录】 【目标目录】 # 移动 也就是所谓的剪切 Ctrl+x
11 编辑器
VI
- 文本编辑器 记事本 notepad++ sublime editplus
- IDE PHPstorm eclipse
vim有三种模式
- 命令模式
- 编辑模式
- 底线命令模式
快捷键 | 作用 |
---|---|
H | 光标向左移动 |
J | 光标向下移动 |
K | 光标向上移动 |
L | 光标向右移动 |
esc | 进入命令模式 |
i | 从命令模式进入 输入模式 光标所在位置插入字符 |
a | 光标所在的下一个字符 插入 |
o | 光标的下一行插入 |
yy | 复制光标所在的整行 |
p | 光标所在行 往下粘贴 |
np | 粘贴n遍 |
dd | 删除当前行 |
ndd | 删除 n 行 |
shift+gg | 回到行首 |
gg | 回到行尾 |
U | 撤销 类似于window Ctrl+Z |
shift+6 | 回到行首 |
shift+4 | 回到行尾 |
命令模式
: 从编辑模式 进入 命令模式
:wq #保存 ! 强制保存
:q #退出不保存 q! 强制退出 不保存
/[查找的字符 ] #从上往下查找 n 继续下查找 shift+n 继续往上查找
?[查找的字符] #从下往上 n继续往上查找 shift+n 继续往下查找
:%s/要替换的字符/替换后的字符 #全局替换
:s/要替换的字符/替换后的字符 #替换 当前行