文件目录管理-RHCEday1

来源:互联网 发布:爱因斯坦 以色列 知乎 编辑:程序博客网 时间:2024/06/06 05:37
Linux 是适用于服务器的,一个 opensource的Server OS ,它能更大化发挥硬件资源 

1.Linux组成:
内核:面向硬件的一个软件,内存分配,设备驱动
外部程序:面向用户的一组软件,命令解释器,网络服务,图形桌面。

2.内核版本号:
x.y.z
x:主版本号:2.X.XX;4.X.XX。主流是4
y:次版本号:2.4.XX;2.5.XX。4是稳定,5是开发
z:修订号:2.4.12;2.4.13。12是上一次修改,13是最新修改。

3.Linux系统发行版本:

RedHat, CentOS很像红帽, Fedora是个人版,SUSE, Ubuntu(智能手机,平板常见)


4.外围程序
GNU项目:自由软件项目。Richard Stallman倡导的。
GPL和LGPL是开源协议。修改过的开源代码,必须再次开源。

OSS:开源软件


5.硬盘表示方法:

        df -h 可以查看到连接的设备,比如hard disk等等

/dev/sda         sd: SCSI,SATA,SAS接口 , a:第1块
/dev/hda         hd:IDE接口, a:第1块
/dev/hdc:光盘


6.硬盘分区表示方法:
类型:
主分区 primary
扩展分区 extended
逻辑分区 logical

硬盘/dev/sda
/dev/sda1    第1个主分区,1---4:主分区、扩展分区
/dev/sda5 第1个逻辑分区 

块设备文件(block)
/dev/sda1   -------------  /abc (挂载)

FS类型:
单机文件系统
ext3, ext4, swap, xfs 
网络文件系统
cifs, nfs 
集群文件系统
gfs2, ocfs2

分区:
/boot:启动分区   200M
swap: 交换分区   2G 
/:根分区  
/var/log:日志
/home
/var:存放网页、mysql数据库的默认位置 

7.Linux系统目录结构:
/
/boot:启动分区,存放内核、启动配置文件
/root:root用户的家目录、宿主目录
/home:普通用户的家目录、宿主目录
userA用户,   /home/userA 
userB用户,  /home/userB
/bin, /sbin, /usr/bin, /usr/sbin:命令
/lib, /lib64, /usr/lib, /usr/lib64:库文件(*.so)
/etc:存放应用程序的配置文件(*.conf)
/dev:存放设备文件
/proc, /sys:系统运行时的内核参数
/tmp:临时文件
/mnt:空目录,挂载光盘


8.命令提示符说明:

例如:[root@localhost ~]# 
其中,root:登录系统的用户名,localhost:计算机名称,~:当前目录的位置,~:用户家目录   /root   userA: /home/userA 
#:管理员,$:普通用户

9.基本操作命令:

1)切换用户 # su - [username] 例如,# su - test 切换到test用户

2)显示当前目录名称,(绝对路径) # pwd 

3)显示日期时间

[root@localhost ~]# date
Sat Apr  9 12:12:05 CST 2016
[root@localhost ~]# date +%Y
2016
[root@localhost ~]# date +%m
04
[root@localhost ~]# date +%d
09
[root@localhost ~]# date +%Y-%m-%d
2016-04-09
[root@localhost ~]# date +%T
12:12:32

4)获取命令帮助
# man <command>

5)查看内核版本及系统平台
[root@localhost ~]# uname -r
3.10.0-123.el7.x86_64

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

6)查看计算机名称
[root@localhost ~]# hostname
localhost.localdomain


# uname -n
localhost.localdomain


7)修改计算机名称

# hostnamectl set-hostname server.bj.com

或者直接修改配置文件,这个更常用一些
# vim /etc/hostname 
node1.bj.com


========================================
文件、目录管理部分

1、查看目录中的文件
# ls [选项] [目录名称]


# ls 
# ls /tmp 

选项:
-l   以详细列表的方式显示文件

# ls -l
total 8
-rw-------. 1 root root 1432 Apr  9  2016 anaconda-ks.cfg


第1个字符:文件类型
-:文件
d:directory目录
b:block块设备文件(硬盘、分区)
c:character字符设备文件(键盘、鼠标)
l:link  链接文件
s:socket 套接字文件(IP:port)
p:pipe  管道文件


rw-------:
文件权限 
root root:
文件所属(属主、属组)
1432:
文件大小,单位为Byte字节
Apr  9  2016:
文件最后一次被修改的时间



-h:显示文件大小时带有单位(K,M,G)
# ls -lh
total 8.0K
-rw-------. 1 root root 1.4K Apr  9  2016 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Apr  9 11:27 Desktop


-d:显示目录自身的权限
# ls -ld /etc/
drwxr-xr-x. 133 root root 8192 Apr  9 12:29 /etc/


-t:按照文件最后一次被修改的时间降序显示
# ls -lt   
total 8
-rw-------. 1 root root 1432 Apr  9  2016 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Apr  9 11:27 Desktop


-S:按文件大小降序排列
# ls -lhS
total 8.0K
-rw-r--r--. 1 root root 1.5K Apr  9 11:24 initial-setup-ks.cfg
-rw-------. 1 root root 1.4K Apr  9  2016 anaconda-ks.cfg


-a:显示隐藏文件
# ls -a 


Linux中以点"."开头的文件,均为隐藏文件




2、统计目录大小
# du [选项] <文件名称>
-a all每个
-h 人性化显示
-s 总计


# du -sh /etc/
33M /etc/


# du -ah /etc 
4.0K /etc/locale.conf
4.0K /etc/resolv.conf
12K /etc/aliases.db
4.0K /etc/hostname
33M /etc/




3、切换目录
# cd <dir_name> 


# cd //返回用户家目录
# cd /etc
# cd sysconfig //切换到当前目录下的sysconfig
# cd .. //返回上一级目录




4、新建目录
# mkdir [选项] <dir_name>


# mkdir /tmp/abc 
# mkdir -p /a/b/c 
-p:递归创建目录



5、创建空白文件
# touch <filename>


# touch /dir1/1.mp3


# touch /dir1/{1..100}.txt
# touch /dir1/{1,3,5,7,9}.txt


# touch /caiwu/`date +%T`.txt




6、删除目录、文件
# rm [选项] <file_name>


# rm /caiwu/1.txt 


选项:
-f:强制删除 
# rm -f /caiwu/1.txt 


-r:用于删除目录
# rm -r /caiwu 




7、复制文件、目录


# cp [选项] src_file  dst_file 




# cp /caiwu/1.txt /shichang
# cp /caiwu/1.txt /shichang/11.txt 


选项: 
-r:用于复制目录
# cp -r /caiwu  /shichang


-p:保留文件属性
# cp -p /caiwu/1.txt /shichang/




8、移动文件、目录
# mv <src_file> <dst_file>


在同目录下移动文件===重命名


# mv /caiwu/1.txt /caiwu/1.mp3




9、查看文件内容----cat/more/less/head/tail


# cat -n /etc/fstab 
     1
     2 #
     3 # /etc/fstab
     4 # Created by anaconda on Sat Apr  9 10:41:14 2016


more/less:用于分页显示文件


# less /usr/share/dict/words




head/tail:


# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin


默认情况,是查看前10行




# tail -2 /etc/passwd
test:x:1000:1000:test:/home/test:/bin/bash
tom:x:1001:1001::/home/tom:/bin/bash


默认情况,查看后10行内容 


选项: 
  -f:即时显示文件中追加的内容,多用于查看日志
  
  # tail -f /var/log/messages 




10、查看文件类型
# file /etc/passwd 
/etc/passwd: ASCII text




11、统计文件行数
# wc -l /etc/passwd
39 /etc/passwd




12、建立软链接 
# ln -s <src_file> <link_name_file> 


示例:为/etc/hostname文件建立软链接,名称为zhuji,存放到/tmp目录
# ln -s /etc/hostname /tmp/zhuji




13、建立命令别名


# alias 别名='命令'


# alias bb='ls -ldh /etc'


查看别名
# alias 


删除别名
#unalias bb 

使别名永久生效:
/etc/bashrc:对所有用户生效
~/.bashrc:仅对单个用户生效


14、
压缩、解压缩文件------gzip/bzip2


gzip命令:
文件名以.gz结尾 

压缩:
gzip <file_name> 


# gzip /caiwu/1.txt


解压缩:
# gzip -d <file_name>
# gunzip <file_name>


# gzip -d /caiwu/1.txt.gz 




bzip2命令:
文件以.bz2结尾 

压缩:
# bzip2 <file_name>


# bzip2 /caiwu/2.txt 


解压缩: 
# bzip2 -d <file_name>
# bunzip2 <file_name> 


# bunzip2 /caiwu/2.txt.bz2 




# dd if=/dev/zero of=/caiwu/4.txt bs=1M count=200
if=/dev/zero: input file 
of=/caiwu/4.txt: output file 
bs=1M
count=200






打包文件/目录-----tar 


创建打包文件(*.tar)


# tar cvf 打包文件名称 源文件
c:create 创建打包 
v:verbose 显示打包的详细过程
f:file   指定打包文件名称 


示例:将/etc下所有文件,打包存放到/tmp目录,名称etc.tar 
# tar cvf /tmp/etc.tar /etc/


解包
# tar xvf 打包文件名称 [-C 目录名称]
x:解包


# tar xf etc.tar
# tar xf /tmp/etc.tar -C /test/




调用gzip实现打包压缩(*.tar.gz)
# tar czvf 打包文件名称  源文件 
z:调用gzip 

# tar czf /tmp/etc.tar.gz /etc/


解压.tar.gz的文件


# tar xzvf 打包文件名称 [-C 目录名称]


# tar xzf /tmp/etc.tar.gz -C /test/




调用bzip2实现打包压缩(*.tar.bz2)
# tar cjvf 打包文件名称 源文件 
j:调用bzip2 

# tar cjf /tmp/etc.tar.bz2 /etc/


解压.tar.bz2的文件
# tar xjvf 打包文件名称 [-C 目录名称]


# tar xjf /tmp/etc.tar.bz2 



解压.zip结尾的文件
# unzip <file_name> 






15、过滤文本内容


# grep [选项] <查找条件> <file_name>


在/etc/passwd中查找带有"root"的行


# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin


正则表达式:




匹配字符:
. 任意单个字符
[abc] [a-z][A-Z] [0-9][a-zA-Z0-9]
[^0-9] :匹配不是数字 





匹配字符出现的位置:
^str:以str开头
str$:以str结尾
^$:空行 





常用选项:
-i:忽略大小写 
# grep -i "^t" /1.txt 

-o:仅显示符合表达式的文件 
# grep -o "t..t" /1.txt 

-v:反向过滤查找
# grep -v "^#" /etc/fstab | grep -v "^$"

-e:同时使用多个条件过滤
# grep -e "^t" -e "linux$" /1.txt 





16、查找文件


# find 查找路径 查找条件 

查找条件: 
-name "*.conf"
# find /etc/ -name "*.conf" 

-size [+-]size
# find /etc/ -size +500k

-type 
# find /dev/ -type b

-user <username>
-group <groupname>
# find /test/ -user tom

-mtime [+]<number> 
# find / -mtime +2 


# find /test/ -name "*.txt" -exec cp {} /backup/ \;





vim-------文本编辑器


# vim <file_name> 


操作模式:
命令模式
输入模式
末行模式


命令--->输入:a i o O 
输入--->命令:Esc 
命令--->末行:冒号":"






命令模式:


1、移动光标
h:左,j:下,k:上,l:右

shift+g:转到末行
gg:返回首行
35gg:转到指定行

2、删除
x:删除单个字符
dw:删除单词
d$:删除到行尾
d^:删除到行首
[#]dd:删除整行


3、撤销 


4、替换
r:替换单个字符
R:连续替换多个字符

5、复制、粘贴
[#]yy
[#]p | P 


6、剪切、粘贴
dd 



7、查找文件内容
/string
n:向下查找
N:向上查找




末行模式:


1、显示行号
:set nu 

2、保存退出 
:wq 

3、退出不保存
:q! 

4、读入文件内容
:r <file_name> 


5、另存为
:w <file_name>

6、查找替换
[替换范围] s/old/new[/g]

:s/redhat/linux
:s/redhat/linux/g 

替换范围:
% 全文替换
:% s/redhat/linux/g 
n,m 
:2,4 s/redhat/linux/g
:2,$ s/redhat/linux/g
:1,$-1 s/redhat/linux/g

:.,$d 从当前行删除到最后一行














查看find 结果中文件的属性。

















0 0
原创粉丝点击