linux的一些常用命令

一.复制文件和目录scp
scp [参数]file_source file_target
-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

二.搜索查看grep
1.常与管道符 | 一同使用
2.在当前目录中,查找后缀有file字样的文件中包含test字符串的文件,并打印出该字符串的行
grep test *file
3.以递归方式查找目录/java/javaEE中包含字符串Hello的文件
grep -r Hello /java/javaEE
-i 忽略大小写
-w 只匹配整个单词
-I 只列出文件名,不列出匹配行
-r 在当前和所有子目录中进行搜索
-n 列出具有行号的匹配行
-v 只打印没有匹配的,而匹配的反而不打印

三.查找 find
1.查找文件名称符合name的文件:find -name name -iname name :iname会忽略大小写
将目前目录及其子目录下所有延伸档名是 c 的文件列出来:find . -name “*.c”
2.查找文件类型是f的文件 -type
查找当前目录及其子目录下的一般文件find . -type f
3.查找路径名称符合p的文件 -ipath p path-p ipath忽略大小写
4.查找文件大小是n单位的文件 -size n

四.日期date
时间方面:
%:印出%
%n:下一行
%H %k:小时(24h制)
%I %l:小时(12h制)
%M:分钟
%p:显示本地AM或PM
%r:直接显示时间(12h制,格式为hh:mm:ss[AP]M)
%T:直接显示时间(24h志)
%s:从1970.1.1 00:00:00UTC到目前为止的秒数
%S:秒
%X:相当于%H:%M:%S
%Z:显示时区
日期方面:
%a:星期几(Sun…Sat)
%A:星期几(Sunday…Saturday)
%b %h:月份(Jan…Dec)
%B:月份(January…December)
%c:直接显示日期和时间
%d:日(01…31)
%D:直接显示日期(mm/dd//yy)
%j:一月中的第几天(001…366)
%m:月份(01…12)
%U:一年中的第几周(00…53)(以Sunday为一周的第一天)
%W : 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)
%w:一周中的第几天
%x:直接显示日期(mm/dd/yy)
%y:年份的最后两位数字
%Y:完整年份
date ‘+%c’

五.连接文件cat
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3

六.计算字数 wc
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 只显示行数。
-w或–words 只显示字数。
–help 在线帮助。
–version 显示版本信息。
wc testfile
# testfile文件的统计信息
3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598

七日期date
时间方面:
%:印出%
%n:下一行
%H %k:小时(24h制)
%I %l:小时(12h制)
%M:分钟
%p:显示本地AM或PM
%r:直接显示时间(12h制,格式为hh:mm:ss[AP]M)
%T:直接显示时间(24h志)
%s:从1970.1.1 00:00:00UTC到目前为止的秒数
%S:秒
%X:相当于%H:%M:%S
%Z:显示时区
日期方面:
%a:星期几(Sun…Sat)
%A:星期几(Sunday…Saturday)
%b %h:月份(Jan…Dec)
%B:月份(January…December)
%c:直接显示日期和时间
%d:日(01…31)
%D:直接显示日期(mm/dd//yy)
%j:一月中的第几天(001…366)
%m:月份(01…12)
%U:一年中的第几周(00…53)(以Sunday为一周的第一天)
%W : 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)
%w:一周中的第几天
%x:直接显示日期(mm/dd/yy)
%y:年份的最后两位数字
%Y:完整年份
date ‘+%c’

八.连接文件cat
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3

九.计算字数 wc
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 只显示行数。
-w或–words 只显示字数。
–help 在线帮助。
–version 显示版本信息。
-L 计算最长行的长度
wc testfile # testfile文件的统计信息
3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598

十.查找文件 whereis
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
查找"java"文件的绝对路径whereis java
-b  只查找二进制文件。
-B<目录>  只在设置的目录下查找二进制文件。
-f  不显示文件名前的路径名称。
-m  只查找说明文件。
-M<目录>  只在设置的目录下查找说明文件。
-s  只查找原始代码文件。
-S<目录>  只在设置的目录下查找原始代码文件。
-u  查找不包含指定类型的文件。

十一.查找文件 which
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
-n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w  指定输出时栏位的宽度。
-V  显示版本信息。
查找指令"mv"的绝对路径:which mv

十二.输出指令 echo
1.输出普通字符 It is a test:
echo “It is a test” 此处双引号可以省略
2.显示转义字符:
echo ““It is a test”” 结果为"It is a test"
3.打印变量的值:
echo $PATH

十三.more命令
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的文档,可为复数个数
实例:
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。
more -s testfile
从第 20 行开始显示 testfile 之文档内容。
more +20 testfile
常用操作命令
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more

十四.less命令
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将"tab"键显示为规定的数字空格
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向上翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

十五.管道命令 |
管道把左侧程序的输出走位右侧程序的输入
printenv | less
ls -l *.py | wc -l

十六.file命令
file指令用于识别文件类型
file 文件名
-b  列出辨识结果时,不显示文件名称。
-c  详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
-L  直接显示符号连接所指向的文件的类别。
-m<魔法数字文件>  指定魔法数字文件。
-v  显示版本信息。
-z  尝试去解读压缩文件的内容。

十七.I/O Stream
标准流
stdin:标准输入,编号为0,用于程序从键盘等设备接收数据。输入流被EOF(文件结尾)终止
stdout:标准输出,编号1,用于程序向终端等设备写入数据
stderr:标准错误,编号2,用于向终端等设备显示错误消息
< 重定向stdin
> 重定向stdout 覆盖
>> 重定向stdout 追加
2> 重定向stderr 覆盖
2>> 重定向stderr 追加
ls命令查看主目录和/Toronto目录,将stdout和stderr重定向到主目录中的out.txt和err.txt
ls ~ /Toronto >~/out.text 2>~/err.txt
使用cat显示上述out.txt和err.txt
cat< ~/out.txt
cat< ~/err.txt

十八.In命令
Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
给文件创建软链接:
为log2020.log文件创建软链接2020
ln -s log2020.log 2020
给文件创建硬链接:
为log2020.log创建硬链接ln2020,log2020.log与ln2020个属性相同
ln log2020.log ln2020

十九.cut命令
从文件中提取字段
输出的琪琪格式按空格分割,取出2,3,6位
date -u | cute -d ’ ’ -f2,3,6

二十.tr命令
用于删除或转换文件中的字符
-c, --complement:反选设定字符。也就是符合 SET1 的部份不做处理,不符合的剩余部份才进行转换
-d, --delete:删除指令字符
-s, --squeeze-repeats:缩减连续重复的字符成指定的单个字符
-t, --truncate-set1:削减 SET1 指定范围,使之与 SET2 设定长度相等
小写转大写:
date -u | tr ‘a-z’ ‘A-Z’
删除:
echo ‘abcdef’ | tr -d ‘b-e’
重复单词显示一次:
echo ‘abbbbg’ | tr -s ‘b’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值