Linux下基础命令(三)

本次发这篇博客比较晚,晚上快12点才发的,到今天一直没有,所以又发了一遍,这个篇文章主要有重定向和管道 | tee  find 等实战操作,还有一些命令参数详解等。

重定向及管道

linux下一切皆文件。文件又可分为:普通文件、目录文件、链接文件和设备文件

Linux系统中使用文件来描述各种硬件,设备资源等

例如:硬盘和分区,光盘等设备文件

brw-rw----+ 1 root cdrom    11,   0 6月  24 16:53 sr0

重定向的含义

文件描述符定义:

是内核为了高效管理已被打开的文件所创建的索引,用于指向被打开的文件,所有执行I/O操作的系统调用都通过文件描述符;文件描述符是一个简单的非负整数,用以标明每一个被进程所打开的文件,程序刚刚启动的时候,第一个打开的文件是0,第二个是1,依此类推。也可以理解为是一个文件的身份ID

用户通过操作系统处理信息的过程中,使用的交互设备文件(键盘,鼠标)

number    Channel namedescripton              default connectionusage

0stdinstandard inputkeyboardread only

1stdoutstandard output terminalwrite only

2stderrstandard errorterminalwrite only

3+filenameother  filesnoneread and /or write

0表示的是标准输入   键盘

1表示的是标准输出   相当于终端或显示器

2表示的是标准错误   通过键盘和终端组合显示

1.查看某个进程信息

打开两个终端界面 pts1代表终端1.pts2代表终端2

pts1

[[email protected] ~]# passwd

更改用户 root 的密码 。

新的 密码:

pts2

[[email protected] fd]# ps aux | grep passwd

root      3606  0.0  0.4 168080  1992 pts/0    S+   19:48   0:00 passwd

root      3832  0.0  0.1 103256   848 pts/1    S+   20:45   0:00 grep passwd

[[email protected] ~]# cd /proc/3606

[[email protected] 3606]# ls               #此目录下是有关此进程的所有信息

attr     coredump_filter  io         mountstats     pagemap      stack

autogroup   cpuset           limits     net            personality  stat

auxv        cwd              loginuid   ns             root         statm

cgroup      environ          maps       numa_maps      sched        status

clear_refs  exe              mem        oom_adj        schedstat    syscall

cmdline     fd               mountinfo  oom_score      sessionid    task

comm        fdinfo           mounts     oom_score_adj  smaps        wchan

[[email protected] 3606]#

[[email protected] 3606]# ll

总用量 0

dr-xr-xr-x. 2 root root 0 6月  24 19:49 attr  #属性

-rw-r--r--. 1 root root 0 6月  24 19:50 autogroup

-r--------. 1 root root 0 6月  24 19:50 auxv

-r--r--r--. 1 root root 0 6月  24 19:50 cgroup

--w-------. 1 root root 0 6月  24 19:50 clear_refs

-r--r--r--. 1 root root 0 6月  24 19:49 cmdline#此进程执行的命令

-rw-r--r--. 1 root root 0 6月  24 19:50 comm

-rw-r--r--. 1 root root 0 6月  24 19:50 coredump_filter

-r--r--r--. 1 root root 0 6月  24 19:50 cpuset

lrwxrwxrwx. 1 root root 0 6月  24 19:50 cwd -> /root

-r--------. 1 root root 0 6月  24 19:50 environ#环境变量

lrwxrwxrwx. 1 root root 0 6月  24 19:50 exe -> /usr/bin/passwd

dr-x------. 2 root root 0 6月  24 19:49 fd#文件描述符相关信息

dr-x------. 2 root root 0 6月  24 19:50 fdinfo

-r--------. 1 root root 0 6月  24 19:50 io

-rw-------. 1 root root 0 6月  24 19:50 limits

-rw-r--r--. 1 root root 0 6月  24 19:50 loginuid

-r--r--r--. 1 root root 0 6月  24 19:50 maps

-rw-------. 1 root root 0 6月  24 19:50 mem

-r--r--r--. 1 root root 0 6月  24 19:50 mountinfo

-r--r--r--. 1 root root 0 6月  24 19:50 mounts

-r--------. 1 root root 0 6月  24 19:50 mountstats

dr-xr-xr-x. 6 root root 0 6月  24 19:50 net

dr-x--x--x. 2 root root 0 6月  24 19:50 ns

-r--r--r--. 1 root root 0 6月  24 19:50 numa_maps

-rw-r--r--. 1 root root 0 6月  24 19:50 oom_adj

-r--r--r--. 1 root root 0 6月  24 19:50 oom_score

-rw-r--r--. 1 root root 0 6月  24 19:50 oom_score_adj

-r--r--r--. 1 root root 0 6月  24 19:50 pagemap

-r--r--r--. 1 root root 0 6月  24 19:50 personality

lrwxrwxrwx. 1 root root 0 6月  24 19:50 root -> /

-rw-r--r--. 1 root root 0 6月  24 19:50 sched

-r--r--r--. 1 root root 0 6月  24 19:50 schedstat

-r--r--r--. 1 root root 0 6月  24 19:50 sessionid

-r--r--r--. 1 root root 0 6月  24 19:50 smaps

-r--r--r--. 1 root root 0 6月  24 19:50 stack

-r--r--r--. 1 root root 0 6月  24 19:48 stat

-r--r--r--. 1 root root 0 6月  24 19:50 statm

-r--r--r--. 1 root root 0 6月  24 19:48 status

-r--r--r--. 1 root root 0 6月  24 19:50 syscall

dr-xr-xr-x. 3 root root 0 6月  24 19:50 task

-r--r--r--. 1 root root 0 6月  24 19:50 wchan

[[email protected] 3606]#

[[email protected] fd]# ll

总用量 0

lrwx------. 1 root root 64 6月  24 19:49 0 -> /dev/pts/0  #输出到第一个终端

lrwx------. 1 root root 64 6月  24 19:49 1 -> /dev/pts/0

lrwx------. 1 root root 64 6月  24 19:49 2 -> /dev/pts/0

lrwx------. 1 root root 64 6月  24 19:49 3 -> socket:[34114] #调用的api

[[email protected] fd]#

文件描述符限制:

因为文件描述符是系统的一个重要资源,一般来说系统有多少内存就可以打开多少的文件描述符,但是实际系统内核还是会做一些限制的,正常情况下一个系统最大打开文件数是内存的10%左右,我们也叫系统级限制,可以通过以下命令查看

同时,系统内核为了不让某一个单独进程消耗掉所有的文件资源,它对单个的进程可以打开的最大文件数也做了限制,我们叫它用户级限制

[[email protected] fd]# sysctl -a |grep fs.file-max#最大可以占用46396,相当于总内存的%10

fs.file-max = 46396

[[email protected] fd]# free

total       used       free     shared    buffers

Mem:        494224     486948       7276          0     100636

-/+ buffers/cache:     327680     166544

Swap:      2031608       3672    2027936

[[email protected] fd]#

输入输出标准说明

STDIN 标准输入 默认的设备是键盘  文件编号为:0

命令将从标准输入文件中读取在执行过程中需要输入的数据,数据来源于文件,

STDOUT 标准输出  默认的设备是显示器  文件编号为:1

命令执行后的输出结果,发送到标准输出文件,结果输出到文件

STDERR 标准错误   默认的设备是显示器  文件编号为:2

命令将执行期间的各种错误信息发送到标准错误文件,错误信息发送到文件

标准输入,标准输出和标准错误默认使用键盘和显示器作为关联设备与操作系统进行交互完成最基本的输入,输出操作.

重定向输出

定义:将命令的正常输出结果保存到指定的文件中,而不是直接显示在显示器的屏幕上

重定向输出使用”>” “>>” 操作符号

屏幕显示的内容(123)  >> 新的文件 (a.txt)

1>  覆盖文件内容

>> 追加内容

若重定向的输出的文件不存在,则会新建该文件

标准输入

1.查看当前主机的CPU的类型保存到kernel.txt文件中(而不是直接显示到屏幕上)

[[email protected] ~]# cat /proc/cpuinfo > kernel.txt

[[email protected] ~]# ls

anaconda-ks.cfg              install.log.syslog         公共的  文档

apache-tomcat-7.0.77         jdk-7u80-linux-x64.tar.gz  模板    下载

apache-tomcat-7.0.77.tar.gz  kernel.txt                 视频    音乐

install.log                  vmware-tools-distrib       图片    桌面

[[email protected] ~]# cat kernel.txt   #查看cpu信息

processor: 0

vendor_id: GenuineIntel

cpu family: 6

model: 78

model name: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz

stepping: 3

cpu MHz: 2592.002

cache size: 4096 KB

fpu: yes

fpu_exception: yes

cpuid level: 22

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm 3dnowprefetch ida arat pln pts dts fsgsbase smep

bogomips: 5184.00

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management:

[[email protected] ~]#

注:如果是错误信息他会直接显示出来,只有正确信息才会保存的文件中

[[email protected] ~]# cat /proc/123  > a.txt     #默认>的左边是1

cat: /proc/123: 没有那个文件或目录               #错误信息,没有这个文件或目录

[[email protected] ~]# ls

anaconda-ks.cfg              install.log.syslog         模板  音乐

apache-tomcat-7.0.77         jdk-7u80-linux-x64.tar.gz  视频  桌面

apache-tomcat-7.0.77.tar.gz  kernel.txt                 图片

a.txt                        vmware-tools-distrib       文档

install.log                  公共的                     下载

[[email protected] ~]# cat a.txt

[[email protected] ~]#

2.将内核的版本信息追加到kernel.txt

[[email protected] ~]# uname -r      #查看内核版本信息

2.6.32-431.el6.x86_64

[[email protected] ~]# uname -r >> kernel.txt   #将内核版本信息追加到kernel.txt文件中

[[email protected] ~]# cat !$                   #查看kernel.txt文件

cat kernel.txt

processor: 0

vendor_id: GenuineIntel

cpu family: 6

model: 78

model name: Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz

stepping: 3

cpu MHz: 2592.002

cache size: 4096 KB

fpu: yes

fpu_exception: yes

cpuid level: 22

wp: yes

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm 3dnowprefetch ida arat pln pts dts fsgsbase smep

bogomips: 5184.00

clflush size: 64

cache_alignment: 64

address sizes: 40 bits physical, 48 bits virtual

power management:

2.6.32-431.el6.x86_64

[[email protected] ~]#

重定向输入

将命令中接收输入的途径由默认的键盘改为其他文件.而不是等待从键盘输入

从文件读取数据 操作符: “ < ” 等价于 0<

<< 表示结束输入的内容,常用来配合eof使用

好处:通过重定向输入可以使一些交互式操作过程能够通过读取文件来完成

1.过滤出/etc/passwd中所有有关root的相关信息

[[email protected] ~]# grep root < /etc/passwd    #将/etc/passwd中所有信息导入,前者是过滤root信息,后者即为输入

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

[[email protected] ~]# grep root /etc/passwd      #过滤出/etc/passwd中所有有关root的相关信息

root:x:0:0:root:/root:/bin/bash

operator:x:11:0:operator:/root:/sbin/nologin

[[email protected] ~]#

2.在脚本中我们可以通过重定向来打印消息菜单

[[email protected] ~]# cat a.sh

#!/bin/bash

cat <<eof

________________________________________

1.mysql

2.php

3.puppet

________________________________________

eof

[[email protected] ~]# sh a.sh

________________________________________

1.mysql

2.php

3.puppet

________________________________________

[[email protected] ~]#

3.mysql的数据导入

[[email protected] ~]# mysql –uroot –p123456 < worepree.sql

错误重定向

将命令执行过程中出现的错误信息 (选项或参数错误) 保存到指定的文件,而不是直接显示到显示器

作用:错误信息保存到文件

操作符: 使用2>

2指的是错误文件的编号 (在使用标准的输入和输出省略了1、0 编号)

在实际应用中,错误重定向可以用来收集执行的错误信息.为排错提供依据;对于shell脚本还可以将无关紧要的错误信息重定向到空文件/dev/null中,以保持脚本输出的简洁

1.查找adfasdf 文件,如果报错,不显示在终端界面上,而是写入b.txt文件

[[email protected] ~]# grep root adfasdf     2>b.txt

[[email protected] ~]# echo $?

2

[[email protected] ~]# cat b.txt

grep: adfasdf: 没有那个文件或目录

[[email protected] ~]#

注:使用 2> 操作符时,会像使用 > 一样覆盖目标文件的内容,若追加而不覆盖文件的内容即可使用 2>> 操作符

=======================================

从哪输出信息 (通过命令等) > 输出到哪个地方 (文件等)

输出到哪个地方grep root < 从哪输出信息 /etc/passwd

========================================

输入一个  >  会造成文件内容覆盖

输入二个 >> 是属于追加,不会覆盖原有文件内容

========================================

null黑洞

把/dev/null看作"黑洞". 它等价于一个只写文件。所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而 /dev/null对命令行和脚本都非常的有用.

1.查看当前目录下是否有asdfasdfwer文件,如果没有把错误信息移到/dev/null

[[email protected] ~]# ls asdfasdfwer 2> /dev/null

[[email protected] ~]# echo $?

2

[[email protected] ~]# ls asdfasdfwer

ls: 无法访问asdfasdfwer: 没有那个文件或目录

[[email protected] ~]#

2.将/etc/hosts文件内容复制到当前目录下的a.txt文件中

[[email protected] ~]# dd if=/etc/host

host.conf    hosts        hosts.allow  hosts.deny

[[email protected] ~]# dd if=/etc/hosts of=a.txt   #或者dd < /etc/host > a.txt

记录了0+1 的读入

记录了0+1 的写出

158字节(158 B)已复制,0.000265443 秒,595 kB/秒

[[email protected] ~]# du -sh a.txt

4.0Ka.txt

[[email protected] ~]# cat !$

cat a.txt

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[[email protected] ~]#

[[email protected] ~]# diff /etc/hosts ./a.txt     #对比两个文件的差别

[[email protected] ~]#

[[email protected] ~]#

3.新建一个10M的文件,命名为file.txt

[[email protected] ~]#

[[email protected] ~]# dd if=/dev/zero  of=file.txt bs=1M  count=10 #从/dev/zero 中复制10M到file.txt文件

记录了10+0 的读入

记录了10+0 的写出

10485760字节(10 MB)已复制,0.061904 秒,169 MB/秒

[[email protected] ~]# echo $? #查看上一条命令的返回值,如果为0则为真,如果为1等数字则为假

0

[[email protected] ~]# ls   #查看是否生成file.txt文件

anaconda-ks.cfg              a.txt        install.log.syslog         公共的  文档

apache-tomcat-7.0.77         b.txt        jdk-7u80-linux-x64.tar.gz  模板    下载

apache-tomcat-7.0.77.tar.gz  file.txt     kernel.txt                 视频    音乐

a.sh                         install.log  vmware-tools-distrib       图片    桌面

[[email protected] ~]# du -sh file.txt    #查看file.txt文件的大小

10Mfile.txt

[[email protected] ~]#

特殊符号

输出到不同文件

正确的写到一个文件,错误的再写到一个文件

1.查找当前目录是否有asdfasdfqwer文件,如果有将正确的写到abc.txt 文件里,如果出现错误信息请输入到def.txt文件中

[[email protected] ~]# ls sadfasdfasdf  > abc.txt 2>def.txt

[[email protected] ~]# ls

abc.txt                      a.txt        install.log.syslog         模板  音乐

anaconda-ks.cfg              b.txt        jdk-7u80-linux-x64.tar.gz  视频  桌面

apache-tomcat-7.0.77         def.txt      kernel.txt                 图片

apache-tomcat-7.0.77.tar.gz  file.txt     vmware-tools-distrib       文档

a.sh                         install.log  公共的                     下载

[[email protected] ~]# cat abc.txt

[[email protected] ~]# cat def.txt

ls: 无法访问sadfasdfasdf: 没有那个文件或目录

[[email protected] ~]#

&>符号

&> 混合输出    & :表示等同于的意思

个人描述:

1>&2  将正确的输出和错误的输出,一起输出到一个文件

2>&1  将错误的输出和正确的输出,一起输出到一个文件

官方描述:

1>&2 意思是把标准输出重定向到标准错误

2>&1 意思是把标准错误输出重定向到标准输出

把正确和错误的信息都输入到相同的位置

&> filename 意思是把标准输出和标准错误输出都重定向到文件filename中

1.将正确的输出和错误的输出,一起输出到一个文件abc.txt文件

[[email protected] ~]# ls asdfasdf /root   > abc.txt 2>&1

[[email protected] ~]# cat abc.txt

ls: 无法访问asdfasdf: 没有那个文件或目录

/root:

abc.txt

anaconda-ks.cfg

apache-tomcat-7.0.77

apache-tomcat-7.0.77.tar.gz

a.sh

a.txt

b.txt

def.txt

file.txt

install.log

install.log.syslog

jdk-7u80-linux-x64.tar.gz

kernel.txt

vmware-tools-distrib

公共的

模板

视频

图片

文档

下载

音乐

桌面

[[email protected] ~]#

2.将错误的输出和正确的输出,一起输出到一个文件abcd.txt文件

[[email protected] ~]# ls asdfasdfasd /root/   2> abcd.txt   1>&2

[[email protected] ~]# cat abcd.txt

ls: 无法访问asdfasdfasd: 没有那个文件或目录

/root/:

abcd.txt

abc.txt

anaconda-ks.cfg

apache-tomcat-7.0.77

apache-tomcat-7.0.77.tar.gz

a.sh

install.log

install.log.syslog

jdk-7u80-linux-x64.tar.gz

vmware-tools-distrib

公共的

模板

视频

图片

文档

下载

音乐

桌面

[[email protected] ~]#

3.将正确和错误输出都输出到qwer.txt文件里

[[email protected] ~]# ls asdfasdfasd /root/   &> qwer.txt

[[email protected] ~]# cat !$

cat qwer.txt

ls: 无法访问asdfasdfasd: 没有那个文件或目录

/root/:

abcd.txt

abc.txt

anaconda-ks.cfg

apache-tomcat-7.0.77

apache-tomcat-7.0.77.tar.gz

a.sh

install.log

install.log.syslog

jdk-7u80-linux-x64.tar.gz

qwer.txt

vmware-tools-distrib

公共的

模板

视频

图片

文档

下载

音乐

桌面

[[email protected] ~]#

管道 |

语法:command-a | command-b | command-c | ......

注意:

1、管道命令只处理前一个命令正确输出,不处理错误输出

2、管道命令右边命令,必须能够接收标准输入的数据流命令才行

3、管道符可以把两条命令连起来,它可以链接多个命令使用

1.查看root用户一共占用多少进程

[[email protected] ~]# ps aux  | grep root | wc -l

148

[[email protected] ~]#

2.查看/etc/passwd 文件中的每一行

加上xargs,它表示把前面的内容的数据流转换为一个个命令参数,然后传给ls使用

[[email protected] ~]# cat /etc/passwd | xargs ls

ls: 无法访问root:x:0:0:root:/root:/bin/bash: 没有那个文件或目录

ls: 无法访问bin:x:1:1:bin:/bin:/sbin/nologin: 没有那个文件或目录

ls: 无法访问daemon:x:2:2:daemon:/sbin:/sbin/nologin: 没有那个文件或目录

ls: 无法访问adm:x:3:4:adm:/var/adm:/sbin/nologin: 没有那个文件或目录

ls: 无法访问lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin: 没有那个文件或目录

ls: 无法访问sync:x:5:0:sync:/sbin:/bin/sync: 没有那个文件或目录

ls: 无法访问shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown: 没有那个文件或目录

ls: 无法访问halt:x:7:0:halt:/sbin:/sbin/halt: 没有那个文件或目录

ls: 无法访问mail:x:8:12:mail:/var/spool/mail:/sbin/nologin: 没有那个文件或目录

ls: 无法访问uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin: 没有那个文件或目录

ls: 无法访问operator:x:11:0:operator:/root:/sbin/nologin: 没有那个文件或目录

ls: 无法访问games:x:12:100:games:/usr/games:/sbin/nologin: 没有那个文件或目录

ls: 无法访问gopher:x:13:30:gopher:/var/gopher:/sbin/nologin: 没有那个文件或目录

ls: 无法访问ftp:x:14:50:FTP: 没有那个文件或目录

ls: 无法访问User:/var/ftp:/sbin/nologin: 没有那个文件或目录

ls: 无法访问nobody:x:99:99:Nobody:/:/sbin/nologin: 没有那个文件或目录

ls: 无法访问dbus:x:81:81:System: 没有那个文件或目录

.....................

3.查找当前目录下所有以txt为后缀的文件全部删除

[[email protected] ~]# find ./ -name "*.txt" | xargs rm -rf

[[email protected] ~]# echo $?

0

[[email protected] ~]# ls

anaconda-ks.cfg              install.log.syslog         模板  音乐

apache-tomcat-7.0.77         jdk-7u80-linux-x64.tar.gz  视频  桌面

apache-tomcat-7.0.77.tar.gz  nohup.out                  图片

a.sh                         vmware-tools-distrib       文档

install.log                  公共的                     下载

[[email protected] ~]#

管道与重定向的区别

管道

左边的命令应该有标准输出 | 右边的命令应该接受标准输入

管道触发两个子进程执行"|"两边的程序;而重定向是在一个进程内执行

管道两边都必须是shell命令

重定向

左边的命令应该有标准输出 > 右边只能是文件(可以是普通文件、文件描述符、设备文件)

左边的命令应该需要标准输入 < 右边只能是文件

tee命令

功能:读取标准输入的数据,并将其内容输出成文件。

语法:tee [-a][--help][--version][文件...]

参数:

-a或  --append  追加

--help  在线帮助

--version  显示版本信息

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件

1.查看当前目录下权限为644(rw-,r--,r--的文件或目录信息写入到abc文件中并最终输出前10行文件或目录信息

[[email protected] ~]# find ./ -depth   -perm 644 | tee abc | head -10

./apache-tomcat-7.0.77.tar.gz

./.local/share/gvfs-metadata/home-092f4bd9.log

./.local/share/.converted-launchers

./.local/share/applications/preferred-web-browser.desktop

./.local/share/applications/preferred-mail-reader.desktop

./install.log

./.imsettings.log

./.bashrc

./jdk-7u80-linux-x64.tar.gz

./.bash_profile

[[email protected] ~]# cat abc  | wc -l

69

[[email protected] ~]#

时间: 2024-12-26 18:53:18

Linux下基础命令(三)的相关文章

Linux下基础命令(六)

Linux计划任务与日志的管理 linux终究按任务与日志管理 –           Linux中的计划任务 –           at计划任务的使用 –           cron计划任务的使用 Linux服务器的日志管理 –           日志的种类和记录的方式 –           实战-自定义ssh服务的日志存储 –           实战-日志的回滚 –           实战-搭建rsyslog远程日志服务器 什么是计划任务 大家平常都会有一些比如说:你每天固定几点

Linux下基础命令(五)

文件系统组成和磁盘加密 硬盘.文件系统的结构组成 Linux系统的结构 Linux文件系统基本结构: inode table: 存储文件的元数据 inode包含文件的元信息,具体来说有以下内容: * 文件的字节数 * 文件拥有者的User ID * 文件的Group ID * 文件的读.写.执行权限 * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间.  * 链接数,即有多少文件名指向这个inode * 文件

Linux:基础命令三

一.软链接 相当于windows中的快捷方式,为了方便用户在使用时更快找到 ln -s /application/appche2.2.0/  /application/appche       注意:后面创建的软链接目录一定是不能存在的. 二.按时间查找文件并删除 find / -type f -mtime +5 查找5天前的文件 find / -type f -mtime -5 查找最近5天的文件 find / -type f -mtime +5 | xargs rm -rf 删除5天前的文件

Linux下基础命令(一)

每天积累知识就会有成长,只要付出在不久的将来一定会有收获,可能回来的晚点,但是一定要贵在坚持,今天第一次发博客,如不出意外情况我每天都会发的,这个是我总结的find命令的一些实战,希望我总结的知识点在今后会对大家有帮助. find -name  "*a"  #以a结尾的文件或目录 -name  "a*"  #以a开头的文件或目录 -name  "*a*" #文件名中带有a字符的文件或目录 命令的形式 格式:find    pathname    

Linux下基础命令

(1)ls(查看列表) (2)ls  -l(查看列出文件详细信息) (3)ls  -al (查看全部列出文件详细信息) (4)ls  -dl(查看目录信息) (5)pwd(查看当前工作的目录)  权限    文件硬链接数或者目录子目录数   所有者   所属组    大小   月   日   年   名字 原文地址:https://www.cnblogs.com/cute-puli/p/11104419.html

linux下find命令和文件的三种时间

    Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只你具有相应的权限. 1.命令参数:     pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系统根目录.   -print: find命令将匹配的文件输出到标准输出

Linux下more命令C语言实现实践

1. more第一版 实现基础功能,显示每一页固定24行文本,"q Enter"退出, "Enter" 下一行, "space Enter"下一页. /************************************************************************* > File Name: more01.c > Author: qianlv > Mail: [email protected] &

Linux下ls命令显示符号链接权限为777的探索

Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录下所有可见文件的详细属性,包括文件属性.所有者.文件大小等信息.但是,当其显示符号链接的属性时,无论其指向文件属性如何,都会显示777,即任何人可读可写可执行.本文从ls命令源码出发,由浅入深地分析该现象的原因,简略探究了Linux 4.10下的符号链接链接.文件系统与权限的源码实现. 关键词:Li

linux下svn命令大全

linux下svn命令大全 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "LogMessage