在Linux的哲学中命令优于导航
为什么要学习命令行
无可厚非,对于大众来说,图形用户界面更加友好,但是要释放Linux的真正威力,命令行是任何东西都无法取代的,所以你不得不承认命令操作的快捷和炫酷。Linux中命令众多,据统计,现在Linux中能够识别的命令数量超过3000个,但是常用的命令数量不会太多,基本上不超过200个,命令行并不难,只是过于繁琐不好记忆,所以反复的使用才能更好的掌握常用的命令行操作,这也有利于日后进一步的Linux学习以及更高效的完成各种日常操作。
总而言之,命令行有以下优点:
- 命令对于熟悉使用Linux系统而言必不可少
- 命令行应用的可扩展性/灵活性更好
- 打破了使用Windows时用鼠标“一点到底”的简单和乏味,为用户提供了更加灵活高效的体验
- 命令已成为Linux的魅力所在
安装更强大的终端oh-my-zsh
命令行如此重要,那么一个好用的终端系统就更为重要,因为终端系统是用户输入命令行,查看输出结果的媒介。Linux 系统默认的Shell 是 bash,但是真正强大的 Shell 是深藏不露的 zsh,但是由于其配置过于复杂,让人望而却步,直到有了oh-my-zsh这个开源项目,让zsh的配置降到0门槛,在这里推荐一个oh-my-zsh的安装配置教程http://macshuo.com/?p=676。
常用的命令行
1.文件/目录处理命令
- 建立目录:mkdir
mkdir 创建目录
mkdir -p 递归创建
- 切换所在目录:cd
cd miao 进入miao目录下
cd ~
cd 进入当前用户的根目录
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
- 查询所在目录位置:pwd
- 删除文件/目录:rm
rm 删除文件
rm -r 删除目录
rm -rf 强制删除文件/目录
- 复制文件/目录:cp
cp 复制文件到目录
cp -r 复制目录到目录
cp -a 复制之后的目标文件/目录和原文件/目录一模一样
- 剪切或改名命令:mv
mv 原文件/目录 目标目录
一般情况夏,mv是剪切命令,但Linux同样用这条命令来改名;如果原文件和目标文件不在同一个目录下,那么mv就是剪切命令,如果原文件和目标文件在同一个目录下,mv就是改名命令。
- 显示指定目录下的文件目录清单:Is
ls -l 以详情模式列出文件夹的内容
ls -a 列出文件夹里的所有内容,包括以"."开头的隐藏文件
文件搜索命令:find
find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示,具体用法可查看find用法.查找文件里符合条件的字符串:grep
grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为”-“,则grep指令会从标准输入设备读取数据,具体用法可查看grep用法.查看文件内容:less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。以树状图列出目录的内容:tree
执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
tree -a 显示所有文件和目录。
tree -C 在文件和目录清单加上色彩,便于区分各种类型。
tree -d 显示目录名称而非内容。
tree -D 列出文件或目录的更改时间。
tree -f 在每个文件或目录之前,显示完整的相对路径名称。
tree -s 列出文件或目录大小。
2:账号操作命令
- su:切换用户,除 root 外,需要键入该用户的密码;
- sudo:切换为管理者,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行;
- whoami:打印当前用户信息;
- passwd:用于修改用户的密码;
3:包管理命令
- apt-get update:更新软件包;
- apt-get install :从资源库中安装软件包;
- apt-get remove:卸载软件包;
4:进程相关命令
- ps:用于显示当前进程的状态
ps -A 列出所有的行程
ps -w 显示加宽可以显示较多的资讯
ps -au 显示较详细的资讯
ps -aux 显示所有包含其他使用者的行程
- kill:用于杀死进程
5:其它
- top:用于实时显示当前系统中正在执行的进程的动态
top 显示进程信息
top -c 显示完整命令
top -b 以批处理模式显示程序信息
top -S 以累积模式显示程序信息
- ping:用于检测与主机的是否连通。
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 - telnet:用于远端登入。
执行telnet指令开启终端机阶段作业,并登入远端主机。
说明
- Linux命令及其参数是严格区分大小写的;
- Linux文件名严格区分大小写;