liunx基础之基础命令合集1.1文件管理

环境:

centos 7.4

摘要说明:

本系列主要讲述liunx基础操作;

本篇文章主要基于centos7来讲述liunx下如何进行文件相关操作;如创建,删除,编辑,查询,授权,移动等常用命令

步骤:
1.打开文件夹及查询文件夹下文件

查看文件主要有下述几个命令

  • cd:打开目录
  • ls:列举文件夹
  • ll:列举文件夹并附带属性
[root@izbp1dham6enej0lrs00riz local]# cd /root/cc
[root@izbp1dham6enej0lrs00riz cc]# ls
test.text
[root@izbp1dham6enej0lrs00riz cc]# cd ..
[root@izbp1dham6enej0lrs00riz ~]# ll
total 12
-rwxr-xr-x 1 root root   22 Nov  6 10:46 c
drwxr-xr-x 2 root root 4096 Nov  6 14:00 cc
-rw-r--r-- 1 root root   18 Nov  6 10:54 cc.txt
[root@izbp1dham6enej0lrs00riz ~]# cd -
/root/cc
[root@izbp1dham6enej0lrs00riz cc]# cd ../..

a、其中cd的部分快捷键为:

  • cd :进入用户主目录;
  • cd ~ :进入用户主目录;
  • cd - :返回进入此目录之前所在的目录;
  • cd .. :返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
  • cd ../..: 返回上两级目录;

b、其中ll查询出的每行的含义如下:

文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名 

其中文件属性通常是由10未组成:

第一位:-表示是文件,d表示是文件夹,l表示是连结文件

2-4位:表示当前用户授权情况

5-7位:表示同一用户组授权情况

8-10未:表示其他用户授权情况

其中可读(r),可写(w),可执行(x),不可以-表示

另外ll和ls还能更丰富的子命令如:

ll -t/ls -t  以最后编辑时间排序;

等多可参考--help;

2.新建文件夹及文件

常用的命令如下:

  • mkdir dirname 直接跟文件夹名,可在当前目录下创建文件夹
  • mkdir /opt/lamp/dirname 可跟路径
  • mkdir -p /opt/lam/dirname 假如lam不存在,需要用-p才可以创建该文件夹
  • touch dilename 可直接跟文件名在当前目录下创建新的文件
  • vi dirname 可创建文件并直接进入编辑页面
[root@izbp1dham6enej0lrs00riz cc]# ls
test.text
[root@izbp1dham6enej0lrs00riz cc]# mkdir cccc
[root@izbp1dham6enej0lrs00riz cc]# ls
cccc  test.text
[root@izbp1dham6enej0lrs00riz cc]# touch test1.text
[root@izbp1dham6enej0lrs00riz cc]# ls
cccc  test1.text  test.text
[root@izbp1dham6enej0lrs00riz cc]# mkdir -p /root/cc/ccc/test.text
[root@izbp1dham6enej0lrs00riz cc]# ls
ccc  cccc  test1.text  test.text

3.查看文本文件:

cat是一次性显示整个文件的内容,还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况;

1、命令格式
cat [选项]... [文件]...
2、命令功能
将[文件]或标准输入组合输出到标准输出。
cat主要有三大功能:
1).一次显示整个文件:cat filename
2).从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3).将几个文件合并为一个文件:cat file1 file2 > file
3、常用参数列表
  -A, --show-all            等于-vET
  -b, --number-nonblank 对非空输出行编号
  -e                        等于-vE
  -E, --show-ends           在每行结束处显示"$"
  -n, --number          对输出的所有行编号
  -s, --squeeze-blank       不输出多行空行
  -t                        与-vT 等价
  -T, --show-tabs           将跳格字符显示为^I
  -u                        (被忽略)
  -v, --show-nonprinting    使用^ 和M- 引用,除了LFD和 TAB 之外
      --help                显示此帮助信息并退出
      --version             显示版本信息并退出

more和less一般用于显示文件内容超过一屏的内容,并且提供翻页的功能。more比cat强大,提供分页显示的功能,less比more更强大,提供翻页,跳转,查找等命令。而且more和less都支持:用空格显示下一页,按键b显示上一页。下面详细介绍这3个命令。

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

1、命令格式
 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...]
2、命令功能
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
3、常用参数列表
     -num  一次显示的行数
     -d    在每屏的底部显示友好的提示信息
     -l    忽略 Ctrl+l (换页符)。如果没有给出这个选项,则more命令在显示了一个包含有 Ctrl+l 字符的行后将暂停显示,并等待接收命令。
     -f     计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
     -p     显示下一屏之前先清屏。
     -c    从顶部清屏然后显示。
     -s    文件中连续的空白行压缩成一个空白行显示。
     -u    不显示下划线
     +/    先搜索字符串,然后从字符串之后显示
     +num  从第num行开始显示

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

1.命令格式:
less [参数]  文件 
2.命令功能:
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
3.命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-e  当文件显示结束后,自动离开
-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g  只标志最后搜索的关键词
-i  忽略搜索时的大小写
-m  显示类似more命令的百分比
-N  显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q  不使用警告音
-s  显示连续空行为一行
-S  行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
>b  向后翻一页
d  向后翻半页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一页
回车键 滚动一行

tail通常搭配-f主要用来实时查看文本输出:

  • tail filename 读取filename最后10行内容
  • tail -f filename 实时动态读取filename最后10行内容
  • tail -20f filename 实时动态读取filename最后20行内容

4.查看文件大小

  • du -sh * 显示当前目录下所有文件的大小
  • du -sh filename   显示该文件大小
  • du -sh     显示当前目录所占空间大小
  • -s或 仅显示总计,只列出最后加总的值。
  • -h或 以K,M,G为单位,提高信息的可读性。
  • df 显示磁盘占用信息
  • 直接df默认一k为单位
  • df -lh 显示本地系统的占用信息,以K,M,G为单位

5.移动删除文件及文件夹

mv 类似于windows下的剪切:常见使用如下

  • mv aaa /etc/udev 讲aaa移动至/etc/udev目录下
  • mv /opt/lampp /etc/udev 将/opt目录下的lampp移动至/etc/udev目录下
  • mv -r aaa /etc/udev 将aaa文件夹递归移动至/etc/udev目录下,不加-r会出错
  • mv aaa bbb 将aaa改名为bbb

命令详解:

  • -b:当文件存在时,覆盖前,为其创建一个备份;
  • -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
  • -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
  • -f:强行复制文件或目录,不论目标文件或目录是否已存在;
  • -i:覆盖既有文件之前先询问用户;
  • -s:对源文件建立符号连接,而非复制文件;
  • -R/r:递归处理,将指定目录下的所有文件与子目录一并处理

cp相当于window的复制,基本用法与mv一致;

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

常使用于将本地文件cope到远程主机或者将远程主机cope到本机,如:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
经常使用的如下:
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/

删除文件及文件夹rm,使用时注意执行,不要造成从删库到跑路:

  • 一般都用rm -rf aaa
  • -r 递归删除
  • -f 强制删除,不询问

另有重定向>可用于文件编辑和移动,常用有:

  • cat aaa.txt > bbb.txt 将aaa的内容写入bbb中,覆盖写入
  • cat aaa.txt >> bbb.txt 讲aaa的内容追加写入bbb中,不覆盖原来内容
  • > bbb.txt 将bbb清空

6.文件压缩和解压

gzip和gunzip一般可用参数是-r,例:

  • gzip test.txt  压缩文件
  • gzip -r test   压缩所有test下的子文件
  • gunzip test.gz   解压文件

zip和unzip可用参数较多,例:

  • zip test 不跟参数直接使用
  • zip -r test 递归压缩test下所有文件
  • unzip test 不跟参数直接使用
  • unzip -n 解压时不覆盖已存在的文件
  • unzip -o 解压时覆盖已存在的文件
  • unzip -d 将文件解压到目录中去

tar使用的较为多些,用法也多,最常用的是zxcvf几个参数,例:

  • -c 创建新文档,就是代表压缩的意思
  • -x 解压文档
  • -f 使用归档文件
  • -z 使用gzip解压
  • -v 详细输出模式

最为常用的使用方法:

  • tar -zcvf test.tar test 将test压缩为test.tar并输出详细信息
  • tar -zxvf test.tar 将test.tar解压缩,并输出详细信息

7.查找文件

通常是使用find命令进行文件查找:

语法
find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

参数说明 :
find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 文件类型是 c 的文件。

d: 目录

c: 字型装置文件

b: 区块装置文件

p: 具名贮列

f: 一般文件

l: 符号连结

s: socket

-pid n : process id 是 n 的文件

你可以使用 ( ) 将运算式分隔,并使用下列运算。

exp1 -and exp2

! expr

-not expr

exp1 -or exp2

exp1, exp2

实例:
将目前目录及其子目录下所有延伸档名是 c 的文件列出来。
# find . -name "*.c"

将目前目录其其下子目录中所有一般文件列出
# find . -type f

将目前目录及其子目录下所有最近 20 天内更新过的文件列出
# find . -ctime -20

查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们:
# find /var/log -type f -mtime +7 -ok rm {} \;

查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
# find . -type f -perm 644 -exec ls -l {} \;

为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径:
# find / -type f -size 0 -exec ls -l {} \;

8.文件授权

常用的授权命令有:

  • chmod -R 给文件夹下所有的文件赋权限,递归处理
  • chmod u+x,g+w f01 //为文件f01设置自己可以执行,组员可以写入的权限 chmod u=rwx,g=rw,o=r f01 给所属用户添加读写执行权限,给组添加读写权限,给其他用户添加读权限
  • chmod 764 f01 以数字的方式赋予所属用户/用户组/其他用户权限r=4w=2,x=1
  • chmod a+x f01 //对文件f01的u,g,o都设置可执行属性,a代表all

9.文本编辑(vi)

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。 

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

常用操作有:

1 Ctrl+u:向文件首翻半屏;
2 Ctrl+d:向文件尾翻半屏;
3 Ctrl+f:向文件尾翻一屏;
4 Ctrl+b:向文件首翻一屏;
5 Esc:从编辑模式切换到命令模式;
6 ZZ:命令模式下保存当前文件所做的修改后退出vi;
7 :行号:光标跳转到指定行的行首;
8 :$:光标跳转到最后一行的行首;
9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;
10 D:删除从当前光标到光标所在行尾的全部字符;
11 dd:删除光标行正行内容;
12 ndd:删除当前行及其后n-1行;
13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
19 a:在当前字符后添加文本;
20 A:在行末添加文本;
21 i:在当前字符前插入文本;
22 I:在行首插入文本;
23 o:在当前行后面插入一空行;
24 O:在当前行前面插入一空行;
25 :wq:在命令模式下,执行存盘退出操作;
26 :w:在命令模式下,执行存盘操作;
27 :w!:在命令模式下,执行强制存盘操作;
28 :q:在命令模式下,执行退出vi操作;
29 :q!:在命令模式下,执行强制退出vi操作;
30 :e文件名:在命令模式下,打开并编辑指定名称的文件;
31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
33 :set nu:在命令模式下,用于在最左端显示行号;
34 :set nonu:在命令模式下,用于在最左端不显示行号;
35 :1,3y 复制第一行到第三行
36 :1,3d 删除第一行到第三行
37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串
38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

10.更多

更多命令可参考:http://www.runoob.com/linux/linux-command-manual.html

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值