蒟蒻的Linux随笔

最近突然开始研究了一下Linux,随手记录一下一些用过的看起来比较有意思的命令吧QAQ

Shell的几个快捷键

Ctrl+a 光标移动到行头

Ctrl+e光标移动到行末

Ctrl+k删除从光标位置到行末

文件浏览&常用乱七八糟

编译命令:

g++ a+b.cpp -o a+b+c -std=c++11

a+b.cpp是cpp文件名,a+b+c则是可执行文件名,后面则可以选择编译标准。

ls

浏览当前文件夹下的所有文件(不包含隐藏文件

ls -a

显示所有文件(包括隐藏文件)

man ls

man后面加东西,显示该命令的帮助,上下/空格浏览,q退出

cal

显示日历。cal 5 2018可显示指定月份。

文件打开&新建&删除

cd name

打开文件

cd/cd ~

回到根目录

cd ..

回到上一级目录

pwd

显示当前路径

mkdir name

新建文件夹

mkdir -p name/name/name

按路径建立多个新文件夹

rmdir name

删除此文件夹(被删除文件夹必须为空)

rm -r name

干翻name目录下所有文件(删库跑路?)

文件复制,移动,删除

文件复制

cp ~/testpdf.pdf ~/test

将根目录下的文件copy到空格后的目录中,~/不填则默认为当前目录下的文件 可以在复制的同时对复制后的文件进行重命名:

cp ~/testpdf.pdf ~/test/notest.pdf

复制过去的pdf名字就变了 可以加上-i选项,这样有同名文件覆盖前会询问是否覆盖:

cp -i ~/testpdf.pdf ~/test

如果要复制一个目录,或者说是文件夹,那么需要加上指令 -r

cp -r test1 test2

如果要强制执行,还可以使用-f指令;同时,多个指令可以叠加使用,例如:

cp -rf test1 test2

强制复制目录

文件删除

使用指令rm以达到目的,同样,删除目录需要使用-r,这是递归删除命令;

rm -r test1

-i则会在删除前确认,-f表示强制执行。同时,还可以使用指令

rm test*

通过加上 “* ” 来删除此目录下所有文件名以test为前缀的文件;

文件移动

使用mv指令来达成目的。mv指令可以移动普通文件和目录,因此不存在-r
-f 强制,-i:如果存在同名文件,询问是否覆盖; -u:如果目标文件已存在,且当前来源较新才会更新

mv a+b ~/test/test2/

将当前目录中的可执行文件a+b移动到指定文件夹中;

mv a+b ~/test/test2/a+c

移动文件的同时进行名称变更;

mv a+b a+c ~/test/

同时移动多个文件;注意此时最后一个一定是目录!!!

文件建立

touch file_name

建立文件

touch file_name{1..number}_txt

括号中写好数字,就会批量建立相应文件