Linux常用命令(二)

来了来了~! 继续写一写Linux中常用的命令!

1、 mv 命令 (用例子表达)
(1) 移动当前目录下文件 source.txt 到 /tmp

#mv  source.txt  /tmp

(2) 将目录dir1 dir2 移动到 /tmp

#mv dir1 dir2 /tmp

(3)将文件 a.txt 重命名为 b.txt

 #mv  a.txt  /tmp/b.txt 
 #mv  oldDir  newDir

(4) 将文件 a.txt 更名为 b.txt ,但是 b.txt 已存在

#mv  -i a.txt  b.txt 

(5) 从源目录中移动 只移动目标文件中不存在的文件

#mv  -u

2、 rm 删除文件目录

 #rm  *[0-9]*
 #rm  *[a-z]*
 #rm  -R/r   递归的删除目录
 #rm  -f     删除时不提示用户确认 

注意: rm -rf 别轻易用于删根! 特别是没有完全把握的时候,万一一不小心删根了,那你估计凉凉了。非要想试试 刺激一下的话,请提前买好机票。

3、 管理目录和文件的权限
(1) chmod 修改权限

      r     读权限     4
      w     写权限     2
      x     执行权限  1 
      # u   所有者     7(4+2+1)
      # g   所属组     6(4+2)
      # o   其他人     4
      # a   所有用户
      # chmod  764  文件名/目录
      # chmod  -R    

修改当前目录下所有子目录的权限

 #find  .  -type  d  -exec  chmod  -R
             777  {} \;

(2) chown chgrp 修改文件的所有者,用户组

#chown root  文件名          \\修改所有者
#chone : root  文件名       \\修改所属组
#chown  root:root  文件名  \\同时修改所有者和所有组

注意: 默认情况下,当你修改软连接文件时,实际修改的是它指向的文件。
(3) setuid setgid 设置用户和组权限位

  • #setuid(设置用户标识)允许用户以文件所有者的权限执行一个程序的权限位
  • #setgid(设置组标识)是允许用户以组的权限执行一个程序的权限位

(4) 使用chmod 设置 setuid

4、 文本处理
(1) sort :文本排序

不适合任何选项,sort 将文件内容按照字母顺序排序

#sort example.txt

-u 选项,移除重复行

 #sort -u  example.txt

不加任何选项,sort 默认是按照第一个数字进行排序
使用 -n 选项,按照数值大小排序

 #sort -n  example.txt

使用 -r 倒序排列

   #sort  -r  example.txt 

-t 选项 用于指定的分隔符,;

   #sort  -t  ','  -k2  example.txt

-k 选项制定排序的列

   #sort  -t  ','  -k2n  test.txt       \\按照第二列的数值顺序将文件排序
   #sort  -t  ','  -k2nr  test.txt       \\按照第二列的数值顺序的倒序排序

(2) uniq 文本去重
不加任何选项,去除重复行并显示第一行

 #uniq example.txt

-c 选项,统计重复出现的次数
-d 只显示文件中重复的行,并且只显示一次
-D 只显示重复行,所有重复的行
-u 只显示不重复的行
-w N只比较前N个字符
-s N 只比较后N 个字符
-f 只比较后面的字符,跳过前N列(空格)
(3) tr 替换或者删除字符

#echo  LinuxShell  | tr  [a-z]  [A-Z]                \\把所有小写字母替换成大写
#echo  LinuxShell  | tr [:lower:]  [:upper:]         \\把所有小写字母替换成大写
# tr '{}' '()' < inputfile > outfile                  \\将inputfile中{}换成(),并将结果输出到了outfile中
#echo  "this is for testing" |  tr  [:space:]  '\t'     \\空格替换成制表符
#echo “The Linux Shell” |  tr  -d  a-z               \\删除小写字母
#echo “The Linux Shell123” |  tr  -d  [0-9]
#echo “The Linux Shell” |  tr  -d   [:digit]          \\删除数字
#echo “The Linux Shell123 ” |  tr  -cd  [:digit:]    \\删除除数字之外的所有字符

(4) grep 查找字符串

#grep -w roo /etc/passwd         \\ 强制grep只匹配包含指定的单词行
#grep -i root /etc/passwd        \\忽略大小写
#grep -v root /etc/passwd        \\反选
#grep -c root /etc/passwd       \\行数
#grep -n root /etc/passwd       \\显示行号
# grep -rl root /etc/*           \\ 递归的匹配目录下所有文件,-l 只显示文件名 
   (alias grep='grep --color=auto')变色

(5) diff 比较两个文件

# diff nsswitch.conf nsswitch.conf.bak
   36c36
   < #initgroups: files
    ---
   > initgroups: files
   表示第一个文件的第36行和第二个文件的36行内容不同
   
   <    第一个文件
   >    第二个文件
   -w   忽略掉这些空格
   -y   并排输出两个文件不同
   -c   以上对比的格式输出对比结果
    !  有差别       
    +   第二个比第一个多出的行

5、其他常用命令
(1) hostname 查看主机名

# hostname  主机名
#vim   /etc/hostname 

(2) w who 列出系统登陆的用户

w 显示登录用户他们的当前运行的进程

 root  pts/0    :0       11:40 0.00s  0.24s  0.02s  w

以上信息显示意思为:

登录账号用户名,tty的名称 / 从哪台主机登录 / 登录时间 / 空闲时间 / tty所有进程所使用的CPU时间 /
当前进程所使用的CPU的时间 / 当前运行的进程

#who  -l    显示系统登录进程
#who  -m   只显示与当前标准输入关联的用户信息  
#who  -r     显示当前系统运行级别  
#who  -q    显示所有登录用户和登录的用户数

(3)uptime查看系统运行时间

#uptime   
   11:48:34 up  6:51,  2 users,  load average: 0.00, 0.01, 0.05

以上信息显示意思为:

当前时间 / 系统已经连续运行6小时51分钟了 / 两个用户 / 分别是系统过去的1分钟,5分钟,15分钟的平均负载

(4)uname 查看系统信息

#uname  -r    查看内核版本信息
#uname  -m   系统硬件
#uname  -p    硬件的平台信息
#uname  -a     系统所有信息

(5) date 显示日期和时间

 #date  -s   "Thu  Sep 26 10:10:00  CST  2013"       \\ 修改时间                       
 #date  -r  文件名       \\输出指定文件最近的修改时间
 #date  -u     \\显示世界标准时间

(6) id 显示用户的属性

#id   -Gn  root      \\输出账号所属于的所有群组的名称
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值