linux 里 一切皆文件
7种文件类型:
- 普通文件 f
d 目录
b 块设备 /dev/sda /dev/sda1 /dev/sr0
c 字符设备 /dev/pts/0 /dev/ tty0
#tty 查看字符设备名称
l symbolic link 符号链接 软链接(快捷方式)
s socket 套接字 网络进程通信的一种方式
p pipe 管道 本地进程间的一种通信方式
shell script 脚本
alt+f2在里面输入gnome-terminal
字体放大缩小:
ctrl+shift加号
ctrl+减号
在已经打开的终端上快捷键 ctrl+shift+n
标签:
在终端内部打开标签:ctrl+shift+t
标签之间的互相切换:alt+数字
退出exit ctrl+d ctrl+shlft+q +w
print work directory 打印当前家目录 pwd
提示符:
[root@wing Desktop]#
root 当前登录账户
wing 短主机名称
Desktop 当前工作目录
表示我们当前使用的是超级账户
$ 表示我们当前使用的是普通账户
输入 bash命令注意事项
格式:
#命令 [选项] [参数] [操作符]
所有命令后必须跟空格
#ls空格
ls -a
tab 补全命令
命令没补全两种可能:
命令写错
没有可执行权限
快捷键
ctrl+c 终止命令
ctrl+a 移动到行首 catl+e 行尾
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + y :粘贴至光标后
Alt + .:之前执行过命令的一部分
ctrl+l:清屏
扩展: 硬件时间 hwclock -s 硬件到系统 -w 系统到硬件
路径
所谓路径即目录组成结构
一个linux路径由"/"和目录(文件)名称两部分组成
比如:/etc/passwd
如果"/"出现在路径开头,则其表示根目录,在路径中间出现"/",其含义是某
一个目录下,那么上面所示路径的意思就是"根目录下的etc目录下的
passwd文件"
如果路径最后出现"/",则表示这是一个目录
路径分为两类:绝对路径和相对路径
绝对路径:凡是从根开始的路径
比如: /etc/sysconfig/ /etc/grub.conf
相对路径:凡是非根开始的路径
比如:etc var/ftp/pub ../test.txt ./test.sh
.. . 开头 都是相对
usr 用户资源目录
usr/local/src 软件默认安装目录
/usr/src
必知目录作用
根目录下所有一级目录全部因安装软件"filesystem"而生
/usr 软件默认安装目录,类似于windows系统内的programs目录
系统内所安装软件的文件会分散存储到其各个子目录下
/usr/local/src 通常存储下载的源安装文件
/usr/src 通常存储下载的源安装文件
/bin 目录/usr/bin的符号链接,用来存储所有人可以使用的命令
/sbin 目录/usr/sbin的符号链接,用来存储只有root可用的命令
/proc 虚拟文件系统 映射当前内核状态 系统进程文件所处目录
cpuinfo cpu信息
meminfo 内存信息
/sys 虚拟文件系统,和proc不同的是如果硬件设备没有插拔操作,其子目
录结构不会发生变化
/root root账户的家目录
/home 所有普通账户的家目录
/etc 存储配置文件
/var variable 存储一些经常变化的文件(ftp发布文件的目录,web发布
网站的目录,日志,邮件,计划任务)
/lib
/lib64 library存储库文件
/dev 存储设备文件
常用设备文件:/dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/
pts/1, /dev/zero, /dev/null, /dev/random
/boot 存储启动文件,比如grub和内核文件
/media 图形自动挂载所使用的目录(rhel7已经没用)
/run rhel7新增加目录,是/var/run的硬链接,之前的光驱和u盘自
查看文件 文件基本操作之一
ls 文件名称
#ls //列出当前目录下的文件
#ls /root/Desktop/a.txt //单独列出文件
#ls /root/Desktop //列出目录下的文件
#ls -d /root/Desktop //显示目录本身
#ls -s //查看大小
#ls -a //all 显示所有文件 (包括隐藏文件)
#ls -R dir1 //递归显示文件
#ls -S //按文件的Size排序
#ls -t //按修改时间排序
#ls -r //逆序排列reverse
#ls -i //显示文件的inode号(索引号)
ls a // 是通配符
#ls -l //长格式显示(显示文件的详细信息)
#ls -lh //-h human 人性化显示
drwxr-xr-x. 2 root root 49 Nov 18 09:15 图片
文件类型\权限 硬链接个数 所有者 所属组 大小 修改时间 名字
短选项:单-开头并且只有一个字符的选项
多个短选项可以写到一起,大部分是没有顺序
比如: ls -ldih
长选项:双-开头并且是一个单词的选项
长选项不能和其他选项写到一起
比如: ls --help
隐藏文件:文件名称前面加“.”
查看文件内容
cat
#cat 文件名
-n
-A 包括控制字符(换行符/制表符)
file 文件 查看文件类型
type 文件 查看命令类型
du:
查询目录大小
#du -h 查看目录连带目录下所有文件大小的和(ls办不到)
只显示整体目录大小
#du -sh 目录
tail
#tail 文件名 //默认查看文件后10行
#tail -5 文件名 //查看后5行,这里的数字可以随意改
#tail -f 文件名 //实时查看文件内容,用来查看日志排错
#tailf 文件名 //功能同上
#tail -F 文件名 //实时查看文件内容(文件不存在会retry)
grep
过滤内容
ls | wc -l 查看文件内有多少个
ifconfig | grep eth0
eth0 Link encap:Ethernet HWaddr 3C:97:0E:54:C3:57
# grep 70 file2
# grep 'root' /etc/passwd
# grep '^root' /etc/passwd
# grep 'bash$' /etc/passwd
# grep 'failure' /var/log/secure
# grep hello * 过滤所有包含hello
less 分页显示
#less 文件名
空格键是翻页 回车键是翻行
上下箭头可以来回翻
/关键字 //搜索 n按关键字往下翻 N按关键字往上翻
快捷键:q 退出
head
#head 文件名 //默认查看文件前10行
#head -5 文件名 //查看前5行,这里的数字可以随意改
# head -10 file2 | tail -1
| 管道符 作用:把前面命令的结果交给后面命令去执行
文件的基本操作
touch 创建文件
touch file{1..100} //file1到file100
# touch file{12,32,23} //file12 file32 file23
stat 文件名称 查看文件属性(inode)
mkdir 创建目录 可加 多个
#mkdir dir1 dir2 /tmp/dir3 //在指定目录下创建目录
#mkdir /root/Desktop/dir1 //在其他目录下创建目录(目录前面写路径)
-v verbose // 冗长 的 详细信息
-p #mkdir -p -v a/b/c/d //创建连级目录
拷贝文件(copy)
cp //文件目标目录
cp file1 dir1
被拷贝的源文件 目标目录
-r // 拷贝目录使用
# cp -r dir1 /root/Desktop //拷贝目录
-v // 显示详细过程
\ // 跳过别名
拷贝文件的时候顺便改名
cp file1 文件名
# cp file1 dir1/file2
# cp -r dir1 /root/Desktop/dir2
剪切
文件/目录 目标文件/目录
#mv file1 dir1
#mv dir1 /root/Desktop/
给文件改名:剪切到文件所在目录并且改名
删除
#rm 文件
#rm -f 文件 //强制删除
-f force
#rm -rf 目录
-r 删除目录用
编辑器 :
vi vim gedit emacs nano office
windows下的文本编辑器:
vim:
#vim 文件名
三种模式 : 命令模式 编辑模式 尾行模式
命令模式
只能用快捷键
进入编辑模式 : a i o A I O R r
r 修改单个字符
o 当前光标下一行 O 上一行
R 覆盖
gg 定位到开头
G 定位到结尾
3G 进入第三行
dd 删除(剪切)当前光标所在行
数字+dd 删除多行
p 粘贴
u undo撤销
ctrl+r 回滚
yy 复制当前光标所在行
数字+yy 复制多行
D 删除当前光标以后的内容
d^ 删除当前光标之前的内容
编辑模式ctrl+u 删除当前光标之前的内容
P 粘贴当前光标所在行上一行
V 可视行模式
y 复制
d 删除
p 粘贴
ctrl+v 可视块模式
添加注释:
选择需要添加注释行的第一列字符-->I -->写注释符-->ESC两次
v 可视化模式
v 取消可视模式
尾行模式
设置vim的功能 查找 替换
查找
/关键字 n N
/^d
/txt$
:set nu 显示行号
:set nonu 取消行号
:set ic 不区分大小写
:set noic 取消不区分大小写
:set ts=4 设置tab键长度
:set sw=4 设置自动缩进的tab键长度
:set si 自动缩进
:set ci
使vim设置永久生效:
#vim /etc/vimrc 把设置写到这个文件的最后,对所有账户生效
set nu
set ic
set ts=4
set sw=4
加密
:X
解密
:set key=
替换
s
:s/world/nice/ 替换当前光标所在行
:%s/world/nice/ %表示替换所有行
:%s/world/nice/g 替换行内所有关键字
:3s/world/nice/ 替换指定行
:3,10s/world/nice/ 第3行到第10行
:3,4s/^/#/
:,8s/hello/hi/ 从当前行到第8行
:5,10 s/./#&/ 5-10前加入#字符 (.整行 &引用查找的内容)
:w 保存
:q 退出
:wq 保存退出
:x 保存退出 //快捷键ZZ
:wq! 强制保存退出
:r /etc/passwd 读入另一个文件的内容
:w /root/Desktop/abc 另存为