工作随笔:瞎记-linux

/bin中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。

 

例如:ps、ls、ping、grep、cp

 

/sbin目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令

 

/opt - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。

/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。

 

ls –a 显示当前目录中的所有文件,包含隐藏文件

 

 

ls -al

 

echo "~~" > e.txt  输出到e.txt

 

pwd 显示当前目录

 

cat 打印文件内容   可以多次打印 

cat t.txt t1.txt t2.txt 

cat t.txt t1.txt t2.txt >sub.txt 输出到一个文件中

 

./本目录

cat ./*.txt >sub.txt 将目录下的所有合并为一个

 

head 命令与 tail 相对

 

less 分页输出 空格键分页

 

">" 是输出到文件中, 如果文件存在, 则原来的内容被清空, 不存在则创建文件, 比如

ls > filelist.txt 

">>"是把输出追加到文件中, 如果文件存在, 追加到末尾, 不存在则创建文件

 

 

file temp.txt查看文件类型

例如,如下所示,Temp.txt 文件类型为text,编码为UTF-8 Unicode

ch(改变)mod 777 x.txt

 

ch(改变)own(所有者) root x.txt

 

 

管道符号,是unix功能强大的一个地方,符号是一条竖线:"|",

用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2,

例如:
ls -l | more

该命令列出当前目录中的任何文档,并把输出送给more命令作为输入,more命令分页显示文件列表。

又如 rpm -aq | less

 

假设last -n 5的输出如下


[root@www ~]# last -n 5 <==仅取出前五行
root     pts/1   192.168.1.100  Tue Feb 10 11:21   still logged in
root     pts/1   192.168.1.100  Tue Feb 10 00:46 - 02:28  (01:41)
root     pts/1   192.168.1.100  Mon Feb  9 11:41 - 18:30  (06:48)
dmtsai   pts/1   192.168.1.100  Mon Feb  9 11:41 - 11:41  (00:00)
root     tty1                   Fri Sep  5 14:09 - 14:10  (00:01)


如果只是显示最近登录的5个帐号


#last -n 5 | awk  '{print $1}'
root
root
root
dmtsai
root


awk工作流程是这样的:读入有'\n'换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。


 

 

Linux下查找文件的命令有两个;locate 和 find

 

首先说下locate,locate这个命令是对其生成的数据库进行遍历(生成数据库的命令:updatedb),这一特性决定了用locate查找文件速度很快,但是locate命令只能对文件进行模糊匹配,在精确度上来说差了点,简单介绍下它的两个选项:

  #locate 

             -i        //查找文件的时候不区分大小写 比如:locate  –i   passwd

       -n       //只显示查找结果的前N行     比如:locate  -n  5   passwd

 

下面重点说下find,find在不指定查找目录的情况下是对整个系统进行遍历查找

 

  使用格式 :   find  [指定查找目录]  [查找规则]  [查找完后执行的action]

这里要注意的是目录之间要用空格分开

  [查找规则] 

        (1)根据文件名查找

           #  -name       //根据文件名查找(精确查找)

           #  -iname       //根据文件名查找,但是不区分大小写 

 

这里另外介绍下文件名通配的知识

 

*表示  通配任意的字符

 

          

 ?表示  通配任意的单个字符

         

[ ] 表示 通配括号里面的任意一个字符

     (2),根据文件所属用户和组来查找文件

           #  -user         //根据属主来查找文件

           #  -group        //根据属组来查找文件

 

 

          (3),根据uid 和 gid来查找用户

           #find  /tmp  -uid  500  //查找uid是500 的文件

           #find  /tmp  -gid  1000 // 查找gid是1000的文件

 

 

          (4),-a  and  -o  and  –not的使用

           # -a 连接两个不同的条件(两个条件必须同时满足)

 

 

 

wc命令用来打印文件的文本行数、单词数、字节数等(print the number of newlines, words, and bytes in files)。在Windows的Word中有个“字数统计”的工具,可以帮我们把选中范围的字数、字符数统计出来。Linux下的wc命令可以实现这个 功能。使用vi打开文件的时候,底下的信息也会显示行数和字节数。

常用参数

格式:wc -l <file>

打印指定文件的文本行数。(l=小写L)

以下参数可组合使用。

参数:-c, --bytes[喝小酒的网摘]http://blog.hehehehehe.cn/a/17301.htm
打印字节数(print the byte counts)

参数:-m, --chars
打印字符数(print the character counts)

参数:-l, --lines
打印行数(print the newline counts)

参数:-L, --max-line-length
打印最长行的长度(print the length of the longest line)

参数:-w, --words
打印单词数(print the word counts)

使用示例

示例一

[root@jfht ~]# wc /etc/passwd 
  46   66 2027 /etc/passwd

行数 单词数 字节数 文件名 
[root@jfht ~]#

[root@jfht ~]# wc -l /etc/passwd 
46 /etc/passwd
[root@jfht ~]# wc -cmlwL /etc/passwd 
  46   66 2027 2027   74 /etc/passwd
[root@jfht ~]# wc -cmlLw /etc/passwd 
  46   66 2027 2027   74 /etc/passwd
[root@jfht ~]# wc -wcmlL /etc/passwd 
  46   66 2027 2027   74 /etc/passwd
[root@jfht ~]#

 

 

 

//统计行数

xargs 本身虽然没有多大用处,但在和其他命令相结合时,他的功能非常强大。
下面是另一个示例,我们希望计算这些文件中的行数:

file * | grep ASCII | cut -d":" -f1 | xargs wc -l

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章