12月5号
1.文件的复制
cp src(源文件) dest(目的文件),最后一个是目标,其他都是源文件,比如cp file1 file2 file3 这里只有file3是目的文件;
注意:只能实现的是一个文件到一个文件,多个文件到一个目录,还有如果目标是一个目录的话,并且该目录是存在的话,那么是
将源文件名保存到目标目录下;还有源文件如果是多个那么目标必须得是目录了;
还要很多的选项,该命令默认是复制文件不复制目录,但是如果想复制目录的话可以加上 -r
cp -r /etc/init.d /tmp/hello 递归复制
cp -i 交互式
cp -f 强行复制,如果目标文件存在直接覆盖,就是无论如何都会复制过去
cp -p 保留原有文件的属主和数组和时间戳(ls -l进行查看指定文件的详细信息),这个选项是非常有用的
cp -a 保留文件的所有的属性,比-p保留的更多(归档存放,备份常用的机制,这个选项非常重要)
cp -L 默认的复制的文件指向的文件
cp -P 保存源文件的连接,如果源文件是一个连接的时候的话(因为cp默认的是复制的连接指向的文件的)
cp /etc/{file1,file2,rc/rc.sysinit} /temp/ 花括号的展开机制,意思是复制三个文件,在文件操作路径时经常使用
2.mv:文件移动命令
mv src dest,同理目标只有一个,不能拿着目录去移动到一个文件,
mv file1 file2 如果源文件和目标文件在同一目录下,就是重命名,不关心你是文件还是目录.
mv 其实也是个别名,mv -i
mv -f如果目标文件存在,强行覆盖
mv -t 目标文件 源文件 先写目标后面是源文件.
3.install:安装意思,安装软件第三方软件,错误,拷贝文件并且设置属性
install -d /tmp/{file1.txt,file2.txt} 这意思是是创建两个文件,创建目录
install -t 目标 文件,先写目标
install 只能复制的是文件,和copy不同了,没有相应的选项了
4.文本查看命令:cat,tac,more,less,head,tail,cut查看文本,不要试图打开一个二进制的文件
cat :连接并显示,可以显示多个文件 cat file.txt file2.txt
cat -n :加上显示的行号,和文件的内容无关得,只是显示的行号罢了.
cat -E :显示每一个行的行结束符的 $符,对于linux而言每行的结束符是 $ 符,,而windows是$ + 换行符.
cat -v :显示其他的非打印字符
cat -A :显示所有内容
使用cat显示命令的时候是从头部到尾部依次显示的,而使用tac显示的是从尾部到头部显示的
当cat直接回车的话,会进入标准输入输出,这时候需要终端命令来结束了,Ctrl+c.
分屏显示:
more:空格键下一页,b键向前翻,回车键逐行显示
less:和man同样,man里的选项这里都支持,翻到最后是不退出的,只有输入q退出
指向查看文件的某几行:
head -n:查看文件的前n行(默认是10)
head -n 2 显示前两行或者head -2 也行
tail:查看文件的后n行
tail -f 查看完文件之后不退出,当其他进程编辑完后继续进行实时显示的命令.(可以用来监控某服务是否运行,可以监控某个日
志)
5.文本处理的命令:cut,grep,join,sed(功能相当强大,但是非常难),awk(报告生成命令,也是非常难的,这个自己一个命令就是一个编程
语言)
cut:指向显示文件的某一个字段,都把整个文件剪一下,只保留某个字段,
cut -d(指定字段分隔符,默认是一个空格) : -f(指定显示的字段)1 /etc/passwd 意思是: 以':'为分割符,在/etc/passwd文
件中值显示第一个字符(这个命令非常重要的)
6.文本排序:sort
sort -n数值排序
sort -r降序
sort -t字段分割符
sort -k以哪个字段为关键字进行排序
sort -u排序后,相同并相邻的行显示一次 ,之后还可以使用uniq显示哪一行是重复的,重复的行必须是相邻并且相同才是.
sort -f排序时忽略大小写进行排序,因为linux是严格区分大小写的.
7.uniq:报告重复的行
-d 只显示重复的行
-D 显示所有重复的行(只有相邻的才行)
-c 显示每行的重复次数
8.文本统计类的命令.
wc: word count简写,不是洗手间哈!!哈哈,可以统计文本中有多少个字符,空格键也是字符
打印的是::行数 单词 字节数
-l 只显示的行数
-L 最长的一行包含多少个字符
-w 只显示单词数
-c 只显示的字节数
-m 只显示统计字符数
9.字处理命令:tr(转换或删除字符的命令)
tr 选项 字符1,字符2.
tr 'ab' 'AB' 把字符集换成AB,会把你下面输入的字符串里所有的ab字符集转化成AB
但是我们需要用到的是将一个文件中的所有的ab转化成AB(举个例子),而不是我们输入的字符串.又但是tr后面不能跟文件名,那怎
么办呢?这里我们用到了输入重定向了.用到了< tr 'ab' 'AB' < /etc/passwd 这时候才是将后面文件中的内容转化.逐个字符
比较;那我们想把一个文件中的所有小写字母装换成大写怎么办? tr 'a-z' 'A-Z' < 文件路径
tr还可以用来删除字符的,tr -d 'ab'即可.逐个字符进行处理,不是处理单词的,一定要记住了!!
10.bash及其特性
一个操作系统来言,shell是距离用户最近的程序,shell意思就是外壳,也是用户直接连接计算机的程序,广义上的shell包括gui和cli,
一个进程不知道别的进程的存在,只认为当前主机上存在着内核和当前进程的,至于为什么以后将原理的时候回讲,进程是程序执行的
例,所以是有生命周期的,一个进程是程序的副本.bash一个外部命令.
shell是有子shell概念的,shell中可以继续打开一个shell,exit退出当前这层的shell.就算是父子关系,那么他们彼此的设定都是没
关系的.
bash特性:为了方便用户使用,shell做了一些特定的功能,命令历史,bash支持管道重定向,支持命令别名,支持命令行编辑和命令行展
开,还有文件名统配,等等更重要的是他还支持使用变量,最重要的是它支持编程,这种程序就叫做脚本.
特性简介:
命令行编辑--
光标跳转:ctrl + a跳到命令行首,ctrl + e跳到命令行尾(常用命令)
ctrl + u删除光标之行首,ctrl + k 删除光标之行尾的内容
ctrl + l 直接清屏,或者clear
命令历史--
history 查看之前执行的所有命令包括刚刚执行的history,还可以进行一些管理命令,history -c清空整个命令历
史,history -d 500 删除第多少个命令,history -d 500 100 从第500个删除100个命令;这些命令历史会被保存到家目录的一
个隐藏文件中,关机查看之前的命令是都会被读到的,我们也可以手动的将缓冲区的命令保存历史文件中去,-w就可以.
命令历史的使用技巧--
!csh 执行之前csh的命令
引用上一个命令的最后一个参数: !$
命令别名--
比如clear,windows是cls,就可以给clear起个cls起个别名即可, alias来实现,alias 别名=命令名,如果命令名之间有空格
话最好用''个引起来.但是只在shell的生命周期内有效,shell关闭了,再重新启动就没了.但是我们想一直有效怎么办呢?通
过程序的配置文件来实现了,至于具体怎么实现后面会说!!!
alias可以查看系统中所有的命令别名.unalias 别名 也可以撤销别名 别名使用:\cmd
命令替换--
把命令中某个子命令替换成其执行结果的过程就叫做命令替换,这种用法对我们是非常关键的,一定要学会使用.
echo "The current directory is $(pwd)"
文件名统配--globbing
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符 [a,b,c] [a-m]
[^]:匹配指定范围之外的任意单个字符
[:space:]:空白字符
[:punct:]:标点字符
也可以通过man 7 glob获取上面的这些特殊的
正则表达式这里不再啰嗦
正则表达式
5.管道和重定向: > < > >> <<
6.用户,组,权限
7.bash shell及其特性,命令别名,和编程环境,逐渐引入shell编程了
8.www.kermel.org linux官网查看内核版本号
1.文件的复制
cp src(源文件) dest(目的文件),最后一个是目标,其他都是源文件,比如cp file1 file2 file3 这里只有file3是目的文件;
注意:只能实现的是一个文件到一个文件,多个文件到一个目录,还有如果目标是一个目录的话,并且该目录是存在的话,那么是
将源文件名保存到目标目录下;还有源文件如果是多个那么目标必须得是目录了;
还要很多的选项,该命令默认是复制文件不复制目录,但是如果想复制目录的话可以加上 -r
cp -r /etc/init.d /tmp/hello 递归复制
cp -i 交互式
cp -f 强行复制,如果目标文件存在直接覆盖,就是无论如何都会复制过去
cp -p 保留原有文件的属主和数组和时间戳(ls -l进行查看指定文件的详细信息),这个选项是非常有用的
cp -a 保留文件的所有的属性,比-p保留的更多(归档存放,备份常用的机制,这个选项非常重要)
cp -L 默认的复制的文件指向的文件
cp -P 保存源文件的连接,如果源文件是一个连接的时候的话(因为cp默认的是复制的连接指向的文件的)
cp /etc/{file1,file2,rc/rc.sysinit} /temp/ 花括号的展开机制,意思是复制三个文件,在文件操作路径时经常使用
2.mv:文件移动命令
mv src dest,同理目标只有一个,不能拿着目录去移动到一个文件,
mv file1 file2 如果源文件和目标文件在同一目录下,就是重命名,不关心你是文件还是目录.
mv 其实也是个别名,mv -i
mv -f如果目标文件存在,强行覆盖
mv -t 目标文件 源文件 先写目标后面是源文件.
3.install:安装意思,安装软件第三方软件,错误,拷贝文件并且设置属性
install -d /tmp/{file1.txt,file2.txt} 这意思是是创建两个文件,创建目录
install -t 目标 文件,先写目标
install 只能复制的是文件,和copy不同了,没有相应的选项了
4.文本查看命令:cat,tac,more,less,head,tail,cut查看文本,不要试图打开一个二进制的文件
cat :连接并显示,可以显示多个文件 cat file.txt file2.txt
cat -n :加上显示的行号,和文件的内容无关得,只是显示的行号罢了.
cat -E :显示每一个行的行结束符的 $符,对于linux而言每行的结束符是 $ 符,,而windows是$ + 换行符.
cat -v :显示其他的非打印字符
cat -A :显示所有内容
使用cat显示命令的时候是从头部到尾部依次显示的,而使用tac显示的是从尾部到头部显示的
当cat直接回车的话,会进入标准输入输出,这时候需要终端命令来结束了,Ctrl+c.
分屏显示:
more:空格键下一页,b键向前翻,回车键逐行显示
less:和man同样,man里的选项这里都支持,翻到最后是不退出的,只有输入q退出
指向查看文件的某几行:
head -n:查看文件的前n行(默认是10)
head -n 2 显示前两行或者head -2 也行
tail:查看文件的后n行
tail -f 查看完文件之后不退出,当其他进程编辑完后继续进行实时显示的命令.(可以用来监控某服务是否运行,可以监控某个日
志)
5.文本处理的命令:cut,grep,join,sed(功能相当强大,但是非常难),awk(报告生成命令,也是非常难的,这个自己一个命令就是一个编程
语言)
cut:指向显示文件的某一个字段,都把整个文件剪一下,只保留某个字段,
cut -d(指定字段分隔符,默认是一个空格) : -f(指定显示的字段)1 /etc/passwd 意思是: 以':'为分割符,在/etc/passwd文
件中值显示第一个字符(这个命令非常重要的)
6.文本排序:sort
sort -n数值排序
sort -r降序
sort -t字段分割符
sort -k以哪个字段为关键字进行排序
sort -u排序后,相同并相邻的行显示一次 ,之后还可以使用uniq显示哪一行是重复的,重复的行必须是相邻并且相同才是.
sort -f排序时忽略大小写进行排序,因为linux是严格区分大小写的.
7.uniq:报告重复的行
-d 只显示重复的行
-D 显示所有重复的行(只有相邻的才行)
-c 显示每行的重复次数
8.文本统计类的命令.
wc: word count简写,不是洗手间哈!!哈哈,可以统计文本中有多少个字符,空格键也是字符
打印的是::行数 单词 字节数
-l 只显示的行数
-L 最长的一行包含多少个字符
-w 只显示单词数
-c 只显示的字节数
-m 只显示统计字符数
9.字处理命令:tr(转换或删除字符的命令)
tr 选项 字符1,字符2.
tr 'ab' 'AB' 把字符集换成AB,会把你下面输入的字符串里所有的ab字符集转化成AB
但是我们需要用到的是将一个文件中的所有的ab转化成AB(举个例子),而不是我们输入的字符串.又但是tr后面不能跟文件名,那怎
么办呢?这里我们用到了输入重定向了.用到了< tr 'ab' 'AB' < /etc/passwd 这时候才是将后面文件中的内容转化.逐个字符
比较;那我们想把一个文件中的所有小写字母装换成大写怎么办? tr 'a-z' 'A-Z' < 文件路径
tr还可以用来删除字符的,tr -d 'ab'即可.逐个字符进行处理,不是处理单词的,一定要记住了!!
10.bash及其特性
一个操作系统来言,shell是距离用户最近的程序,shell意思就是外壳,也是用户直接连接计算机的程序,广义上的shell包括gui和cli,
一个进程不知道别的进程的存在,只认为当前主机上存在着内核和当前进程的,至于为什么以后将原理的时候回讲,进程是程序执行的
例,所以是有生命周期的,一个进程是程序的副本.bash一个外部命令.
shell是有子shell概念的,shell中可以继续打开一个shell,exit退出当前这层的shell.就算是父子关系,那么他们彼此的设定都是没
关系的.
bash特性:为了方便用户使用,shell做了一些特定的功能,命令历史,bash支持管道重定向,支持命令别名,支持命令行编辑和命令行展
开,还有文件名统配,等等更重要的是他还支持使用变量,最重要的是它支持编程,这种程序就叫做脚本.
特性简介:
命令行编辑--
光标跳转:ctrl + a跳到命令行首,ctrl + e跳到命令行尾(常用命令)
ctrl + u删除光标之行首,ctrl + k 删除光标之行尾的内容
ctrl + l 直接清屏,或者clear
命令历史--
history 查看之前执行的所有命令包括刚刚执行的history,还可以进行一些管理命令,history -c清空整个命令历
史,history -d 500 删除第多少个命令,history -d 500 100 从第500个删除100个命令;这些命令历史会被保存到家目录的一
个隐藏文件中,关机查看之前的命令是都会被读到的,我们也可以手动的将缓冲区的命令保存历史文件中去,-w就可以.
命令历史的使用技巧--
!csh 执行之前csh的命令
引用上一个命令的最后一个参数: !$
命令别名--
比如clear,windows是cls,就可以给clear起个cls起个别名即可, alias来实现,alias 别名=命令名,如果命令名之间有空格
话最好用''个引起来.但是只在shell的生命周期内有效,shell关闭了,再重新启动就没了.但是我们想一直有效怎么办呢?通
过程序的配置文件来实现了,至于具体怎么实现后面会说!!!
alias可以查看系统中所有的命令别名.unalias 别名 也可以撤销别名 别名使用:\cmd
命令替换--
把命令中某个子命令替换成其执行结果的过程就叫做命令替换,这种用法对我们是非常关键的,一定要学会使用.
echo "The current directory is $(pwd)"
文件名统配--globbing
*:任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符 [a,b,c] [a-m]
[^]:匹配指定范围之外的任意单个字符
[:space:]:空白字符
[:punct:]:标点字符
也可以通过man 7 glob获取上面的这些特殊的
正则表达式这里不再啰嗦
正则表达式
5.管道和重定向: > < > >> <<
6.用户,组,权限
7.bash shell及其特性,命令别名,和编程环境,逐渐引入shell编程了
8.www.kermel.org linux官网查看内核版本号
本文介绍了Linux环境下常用的文件操作命令如cp、mv等,文本处理命令如grep、sed等,以及bash特性和管道重定向的使用方法。
7万+

被折叠的 条评论
为什么被折叠?



