shell
2018-11-20 14:38:15 0 举报
AI智能生成
linux 常用命令
作者其他创作
大纲/内容
命令
1 文件管理
1 cat
带上行号打印整个文件
cat -n fileName
把 textfile1 的文档内容加上行号后输入 textfile2
cat -n textfile1 > textfile2
2 chmod
u 该文件的拥有者,g 与该文件的拥有者属于同一个group,o 其他人,a 表示这三者皆是
r 表示可读取,w 表示可写入,x 表示可执行
chmod ugo+r file1.txt
r=4,w=2,x=1
chmod 777 file
3 chown
将文件 file1.txt 的拥有者设为 users 群体的使用者 runoob
chown runoob:users file1.txt
4 cmp
要确定两个文件是否相同
cmp prog.o.bak prog.o
结果:prog.o.bak prog.o differ: char 4, line 1
5 diff
diff log2014.log log2013.log
6 file
显示符号链接的文件类型
file /var/mail
显示文件类型
file install.log
7 find
将目前目录及其子目录下所有延伸档名是 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 {} \;
find / -name "*.log"|grep "log"
8 less
-N 显示每行的行号
-Q 不使用警告音
文件内命令
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
y 向前滚动一行
9 cut
提取每一行的第3个字符
who|cut -b 3
10 ln
为某一个文件在另外一个位置建立一个同步的链接
ln -s log2013.log link2013
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
11 more
从第 20 行开始一次显示30行 显示 testfile 之文档内容
more -20 +30 testfile
= 输出当前行的行号
Ctrl+F 向下滚动一屏
V 调用vi编辑器
14 rm
-i 删除前逐一询问确认
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认
-r 将目录及以下之档案亦逐一删除
15 mv
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示
16 cp
将当前目录"test/"下的所有文件复制到新目录"newtest"下
cp –r test/ newtest
17 awk
是一种处理文本文件的语言,是一个强大的文本分析工具
行匹配
每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
格式化输出
awk '{printf "%-8s %-10s\n",$1,$4}' log.txt
指定输出分割符
awk '{print $1,$2,$5}' OFS=" $ " log.txt
awk -v # 设置变量
awk -va=1 '{print $1,$1+a}' log.txt
过滤
过滤第一列大于2的行
awk '$1>2' log.txt
过滤第一列等于2的行
awk '$1==2 {print $1,$3}' log.txt
过滤第一列大于2并且第二列等于'Are'的行
awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt
正则,字符串匹配
输出包含"re" 的行
awk '/re/ ' log.txt
输出第二列包含 "th",并打印第二列与第四列
~ 表示模式开始。// 中是模式。
awk '$2 ~ /th/ {print $2,$4}' log.txt
19 scp
scp命令用于Linux之间复制文件和目录
secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令
从本地复制到远程
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3
2 文档编辑
egrep
egrep命令用于在文件内查找指定的字符串,相比grep 正则表达更规范
egrep Linux *
grep
命令用于查找文件里符合条件的字符串
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
-c 或 --count : 计算符合样式的列数。
-n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
-r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
-v 或 --revert-match : 显示不包含匹配文本的所有行。
sed
可依照script的指令,来处理、编辑文本文件
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!
sort
用于将文本文件内容加以排序。
expr
what
用空格隔开每个项
用 / (反斜杠) 放在 shell 特定的字符前面
对包含空格和其他特殊字符的字符串要用引号括起来
how
expr length “this is a test”
expr substr “this is a test” 3 5
expr index "sarasara" a
expr 10 + 10
wc
what
-l或--lines 只显示行数
-w或--words 只显示字数
how
wc testfile testfile_1 testfile_2
3 文件传输
4 磁盘管理
df
what
文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
how
df -h
du
what
用于显示目录或文件的大小
-h或--human-readable 以K,M,G为单位,提高信息的可读性
-m或--megabytes 以1MB为单位
how
du -h
pwd
显示工作目录
rmdir
删除空的目录
tree
以树状图列出目录的内容
ls
用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
5 磁盘维护
6 网络通讯
7 系统管理
ps
用于显示当前进程 (process) 的状态
ps -A 显示进程信息
ps -u root //显示root进程用户信息
ps -ef //显示所有命令,连带命令行
top
用于实时显示 process 的动态
显示完整命令
top -c
设置信息更新时间
top -d 3
date
date '+%x %X'
sleep
可以用来将目前动作延迟一段时间
s 为秒,m 为 分钟,h 为小时,d 为日数
sleep 5s;top
last命令用于显示系统开机以来获是从每月初登入者的讯息
pstree命令将所有行程以树状图显示
sudo命令以系统管理者的身份执行指令
who命令用于显示系统中有哪些使用者正在上面
su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
w命令用于显示目前登入系统的用户信息
free命令用于显示内存状态
-b 以Byte为单位显示内存使用情况。-k 以KB为单位显示内存使用情况。-m 以MB为单位显示内存使用情况。-o 不显示缓冲区调节列
8 系统设置
clear命令用于清除屏幕
alias命令用于设置指令的别名
alias wxx="ps -ef|grep java"
alias查看当前所有别名
crontab是用来定期执行程序的命令
crontab [ -u user ] { -l | -r | -e }
每月每天每小时的第 0 分钟执行一次 /bin/ls
0 * * * * /bin/ls
在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup
0 6-12/3 * 12 * /usr/bin/backup
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
declare命令用于声明 shell 变量
enable命令用于启动或关闭 shell 内建指令
eval连接多个命令
eval enable;ls
export命令用于设置或显示环境变量
export -p //列出当前的环境变量值
export MYENV //定义环境变量
export MYENV=7 //定义环境变量并赋值
rpm 命令用于管理套件
set命令用于设置shell
passwd命令用来更改使用者的密码
passwd runoob //设置runoob用户的密码
9 备份压缩
ar命令用于建立或修改备存文件,或是从备存文件中抽取文件
ar rv one.bak a.c b.c //打包 a.c b.c文件
ar t two.bak
显示打包文件的内容
ar xv two.bak
tar命令用于备份文件
tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz
tar -tzvf test.tar.gz//列出压缩文件
tar -cvf test.tar a.c //压缩 a.c文件为test.tar.gz
tar -xvf test.tar a.c //解压test.tar
10 设备管理
0 条评论
下一页
为你推荐
查看更多