一、Linux基础
1、./表示当前目录。
.表示当前目录,就像..表示上级目录一样。
如果想运行当前目录下的程序A,可以用./A来运行。表示执行在当前目录下面的程序A。如果光在命令行中打A,那么系统会在默认的系统目录下寻找A。也可以按照提示来理解,A不是一个命令,所以不能位于一条命令行的开始。
那./和.的区别是什么呢?——那就要谈到符号/了。它作为分隔符,用来表示目录级别。如果单单想表示当前目录,只用.即可;当然用./也可以。但是如果想要在当前目录下继续作用某文件或者某文件夹(路径),那么/就是必不可少的了。总之,如果要在当前目录下运行某程序,使用./就好。
那./和../以及/之间的区别是什么呢?——./表示当前目录,../表示上级目录,/ 表示根目录。
2、关于Linux系统的一些
2.1 图形界面
带有图形界面的Linux系统(例如Ubuntu),它们的图形界面其实是运行在Linux下的一套软件,而非Windows系统那样,系统本来就带界面。这个是有巨大区别的(Windows 95的图形界面也是运行在内核上的软件o(╯□╰)o)。
2.2 Shell
而不同的图形界面的Linux系统最大的区别不在于界面的不同,而是Shell的不同。好比它们具有同样的核,但是壳(Shell)是不一样的。Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来Windows下的 cmd.exe。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。
在 UNIX/Linux 中比较流行的常见的 Shell 有 bash,zsh,ksh,csh 等等,Ubuntu 终端默认使用的是 bash。
2.3
Linux下的终端(Terminal)和控制台(Console)也是不一样的。
二、常用快捷键
Ctrl+C:强行终止
Tab:补全命令
Ctrl+S:暂停当前程序,暂停后按下任意键恢复运行
Control + R:搜索之前输入的命令。很方便——如何在多个输入结果间切换呢?
Command + R:(for Mac)(在iTerm2中)清空本Tab内的内容。
三、常用命令
1、touch:创建文件
2、sudo
sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。
3、apt-get
apt-get是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
它是很常用的一条命令。常见的参数如下:
sudo apt-get install package 安装包
sudo apt-get remove package 删除包
4、diff
diff命令用于比较两个文件或者目录的内容。diff在命令行中打印每一个行的改动。diff的输出被称为补丁(patch),因为Linux中还有一个程序patch,可以根据diff的输出,将a.c文件的内容更新为b.c。
diff命令格式为diff [参数] 文件1或目录1 文件2或目录2
diff可以比较单个文件或者整个目录。如果比较的是单个文件,会进行逐行的比较;如果比较的是目录,会比较目录下文件名相同的文件。并列出不同的二进制文件、公共子目录和只出现在一个目录中的文件。
5、ls
ls命令用于显示当前目录下的文件。
一般情况下,只显示普通的目录和文件,不会显示隐藏文件。若要显示隐藏文件,加参数-a即可。
6、cat
cat命令主要用来查看文件内容,创建、合并文件,追加文件内容等。
cat主要有3大功能:
a.一次显示整个文件。cat filename
b.从键盘创建一个文件。cat > filename 只能创建新文件,不能编辑已有文件
c.将几个文件合并为一个文件。 cat file1 file2 > file (如果file不为空,那将其清空)
如果要从1开始对所有输出的行数编号,-n或--number
要想对空白行不编号,-b
警告:>是创建,>>是追加!
7、scp
在机器间进行安全的传输(copy)
8、rsync
机器间进行同步
eg:从本机同步到别的机器:
rsync -avz /home/a ip:/home/a
如果同步目录加-d(递归地),同类命令一样
9、history
查看输入命令的历史
history | tail -N
显示最近的N条命令
10、