来了来了~! 继续写一写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 \\输出账号所属于的所有群组的名称