Linux基本指令
一.通配符 *
首先进入我的newhand文件夹。
紧接着创建几个文件。
我们如果想要查看所有以.c结尾的文件只需要加上*号就可以了。
同理,想看到所有以test.开头的也可以。
二.rmdir指令和rm指令
简单演示
我想要删除创建的mytest.txt文件,只需要在rm后面加上该文件名就可以了。
ps:如果你在root路径下,那么它会询问你是否删除。那么在普通用户里能否让它在删除前也询问你呢?当然可以,只需要加上-i选项。
可以看到它询问了我,我回答了yes,所以文件被删除了。
所有通过*号和rf两个选项我们可以直接该路径删除所有文件。
可以看到我之前创造的4个文件全被删除了。
三.man指令
这是一条很重要的指令,Linux上千条指令我们不可能完全记住,所以就可以通过man指令来查看。
例如,我想看ls指令更详细的信息
同理,我们想看pwd也是一样的(插个小知识按q退出)
当然我们也可以看man自己的手册
这里我们看到中间有1-9几个编号,这其实就是man几个手册的编号,我们默认情况下是从手册1开始查找,每个手册的功能如下:
例如,我想查一个c语言函数printf
实际上这查出来的是一条指令,因为printf在Linux里也是一条指令,与c语言里的printf完全不同。所以我们得加上3才能查看c语言里的printf。
四.echo指令和>符号
echo的基本作用就是将你输入的字符串原封不动的打印出来。
接下来,我的路径下有一个文件,它的大小是0个字节
接下来向文件里写入这个字符串
可以看到该文件的大小变为了12个字节。那么带有>符号的和没带的区别有:
>符号被称为输出重对象(本来应该显示到显示器的内容,打印到文件中)
这里再简单使用一下cat指令,就是打印文件内容
五.cp指令
注意,是将前面的拷贝到后面的
注意,这里我并没有创建myback.txt文件,而是在拷贝后自动生成了,并且内容与mytest.txt一样。(源文件和目的文件不能一样)
那么我们能不能拷贝到上级路径呢?当然可以,只要在后面加上绝对路径或者相对路径就可以,这里演示相对 路径。
可以看到mytest.txt就拷贝到了上级路径里。接下来,我想把newhand这一整个目录拷贝一下呢?注意拷贝目录不能直接拷贝。需要加上-r选项。
这样就把newhand拷贝到newhandback里了。
六.mv指令
mv的基本功能就是改变文件或者目录的名称。例如,我想把mytest.txt改成mytest1.txt。
mv除了改名外还有一个重要的功能就越是剪切。接下来我把mytest1.txt移到上一级目录里。
可以看到当前目录下已经没有mytest1.txt文件了。接下来看上级目录里是否有
那么接下来我们该如何把上级目录里的文件剪切回来呢?只需要加上一个.表示当前路径就可以了。
重要可以看到mytest1.txt已经拷贝回来了。
需要注意的是,mv不仅有剪切的功能还有改名的功能。
如果在后面没有加文件名就只是单纯的剪切
如果在后面加上了名字,那么就不仅是剪切还有重命名
当然这里也可以单纯的重命名,只需要用.来表达当前路径就可以了
所以对此,我们可以认为每个mv指令都进行了剪切并重命名,只不过如果你没有指定名字的话,默认是使用原来的名字。
一个小技巧 ctrl c,用来强行阻止一些没完没了的指令。
简单来说,如果写了一个死循环,那么你的屏幕就会一直打印,如果想让它强行停止就按Ctrl c。
例如我下面不想输入了一条指令但我不想让它执行了
七.cat指令和>>符号,<符号
接下来创建一个mytest.c文件,向里面写入hello,再将其打印出来。
ps:使用>在写入时会先清空里面的内容,再将其写入。所以如果想要清空一个文件只需要>+文件名就可以了。
这里就又引出了一个问题,如果我们不想先清空文件该怎么办呢?那么就需要>>符号(追加重定向)了。
当然,大家可以发现这里的echo是自动换行的,那么如果我们不想让它换行,就得靠printf了。
接下来,如果cat后面什么都不跟,那么他会怎么做呢?
这里我输入1,它就打印1,输入2,就打印2.所以其实,它是默认从输入设备读入到输出设备。
再来看一个操作
<被称为输入重定向。它让本来应该从读取改变读取位置,从指定文件里读取。
八.more指令
cat不适合看大文件,因为cat会将所有的内容读出来,以至于太长导致刷屏。这时就需要more指令了。
more指令就是会一次性显示一屏幕的信息,我们按回车可以向下翻以便于我们找到想要的信息。
九.less指令
less指令比more更加强大,最主要就是可以上下翻而more指令不能。
十.head指令和tail指令和 | 符号
这个指令可以帮你提取想要的行数。我的里面有三行,我想要提取两行
tail就是显示末尾几行,与head相对,这里就不再演示了。
如果我的文件里有很多行代码,我想取从1020行代码往上20行就可以使用 | 符号
这里其实也好理解,就是先取出前1020行,再取出从1020行往上20行。其中 | 符号就被称为管道文件。简单来说,就是把符号前处理后的文件再交给该符号后的来处理。