UNIX

Linux学习的路线图

  1. 掌握至少50个以上的常用命令。
  2. 熟悉Gnome/KDE等X-windows桌面环境操作 。
  3. 掌握.tgz、.rpm等软件包的常用安装方法
  4. 学习添加外设,安装设备驱动程序(比如网卡)
  5. 熟悉Grub/Lilo引导器及简单的修复操作 。
  6. 熟悉Linux文件系统 和目录结构。
  7. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器 。
  8. 理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
  9. 学习Linux环境下的组网。

Linux 命令

  • 安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
  • 文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
  • 系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
  • 网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
  • 系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho

帮助

man 和 help man ls ls –help

操作

光标 – up(方向键上) 可以调出输入历史执行记录,快速执行命令 – down(方向键下) 配合 up 选择历史执行记录 – Home 移动光标到本行开头 – End 移动光标到本行结尾 – PgUp 向上翻页 – PaDN 向下翻页 – ctrl + c 终止当前程序

Tab 补全

Tab 补全是非常有用的一个功能,可以用来自动补全命令或文件名,省时准确。

未输入状态下连按两次 Tab 列出所有可用命令

已输入部分命令名或文件名,按 Tab 进行自动补全,多用你就肯定会喜欢的了。

‘系统 netstat -plntu

常用命令

cd

cd 是打开某个路径的命令,也就是打开某个文件夹,并跳转到该处。

cd path ### path 为你要打开的路径。 其中 path 有绝对路径和相对路径之分,绝对路径强调从 / 起,一直到所在路径。相对路径则,相对于当前路径来说,假设当前家目录有 etc 文件夹(绝对路径应为 /home/username/etc),如果直接 cd etc 则进入此文件夹,但若是 cd /etc/ 则是进入系统 etc ,多琢磨一下就可以理解了。另外在 Linux 中, . 代表当前目录, .. 代表上级目录,因此返回上级目录可以 cd .. 。

ls

ls 即 list ,列出文件。

ls ### 仅列出当前目录可见文件 ls -l ### 列出当前目录可见文件详细信息 ls -hl ### 列出详细信息并以可读大小显示文件大小 ls -al ### 列出所有文件(包括隐藏)的详细信息

    1. 注意: Linux 中 以 . 开头的文件或文件夹均为隐藏文件或隐藏文件夹。

lsblk ###列出块设备,了解新插入的USB设备的名字,特别是当你在终端上处理磁盘/块设备时

pwd

pwd 用于返回当前工作目录的名字,为绝对路径名。

pwd /home

mkdir

mkdir 用于新建文件夹。

mkdir folder mkdir -p folder/subfolder ### -p 参数为当父目录存在时忽略,若不存在则建立,用此参数可建立多级文件夹

rm

rm 即 remove ,删除文件。

rm filename ### 删除 filename rm -i filename ### 删除 filename 前提示,若多个文件则每次提示 rm -rf folder/subfolder/ ### 递归删除 subfolder 下所有文件及文件夹,包括 subfolder 自身 rm -d folder ### 删除空文件夹

cp

cp 即 copy ,复制文件。

cp source dest ### 将 source 复制到 dest cp folder/* dest ### 将 folder 下所有文件(不含子文件夹中的文件)复制到 dest cp -r folder dest ### 将 folder 下所有文件(包含子文件夹中的所有文件)复制到 dest cp ../mary/homework/assign . ###如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.或点点..的形式。例如,下面的命令将指定文件复制到当前目录下

mv

mv 即 move ,移动文件。

mv source folder ### 将 source 移动到 folder 下,完成后则为 folder/source mv -i source folder ### 在移动时,若文件已存在则提示 **是否覆盖** mv source dest ### 在 dest 不为目录的前提下,重命名 source 为 dest

cat, more, less

cat 用于输出文件内容到 Terminal 。

cat /etc/index.html ### 输出 index.html 的内容 cat -n /etc/locale.gen ### 输出 locale.gen 的内容并显示行号

more 与 cat 相似,都可以查看文件内容,所不同的是,当一个文档太长时, cat 只能展示最后布满屏幕的内容,前面的内容是不可见的。这时候可用 more 逐行显示内容。

more +100 /etc/locale.gen ### 从 100 行开始显示

less 与 more 相似,不过 less 支持上下滚动查看内容,而 more 只支持逐行显示。

键盘按Q退出less命令

nano

nano 是一个简单实用的文本编辑器,入门简单。

nano filename ### 编辑 filename 文件,若文件不存在,则新打开一个文件,若退出时保存,则创建该文件 编辑完后,ctrl + X 提示是否保存,按 y 确定保存即可。

注意:在使用过程中可用 ctrl + G 获取帮助。

reboot

reboot 为重启命令。

reboot ### ‘$’ 和 ‘#’ 的区别在于 ‘$’ 普通用户即可执行,而 ‘#’ 为 root 用户才可执行,或普通用户使用 ‘sudo’

poweroff

poweroff 为关机命令。

poweroff ### 马上关机

grep

grep (Global Regular Expression Print) 主要用于返回匹配的项目,支持正则表达式。

grep PATTERN filename ### 返回所有含有 PATTERN 的行 grep grep keywords index.html ### 返回所有含 keywords 的行 grep magic /usr/src/Linux/Documentation/* | less ###如果有很多输出时,您可以通过管道将其转到’less’上阅读 grep pattern1 | pattern2 files ###显示匹配 pattern1 或 pattern2 的行, grep pattern1 files | grep pattern2 ###显示既匹配 pattern1 又匹配 pattern2 的行。

tar

tar 主要用于创建归档文件,和解压归档文件,其本身是没有压缩功能的,但可以调用 gzip 、 bzip2 进行压缩处理。 参数解释:

  • -c 创建归档
  • -x 解压归档
  • -v 显示处理过程
  • -f 目标文件,其后必须紧跟 目标文件
  • -j 调用 bzip2 进行解压缩
  • -z 调用 gzip 进行解压缩
  • -t 列出归档中的文件

tar -cvf filename.tar . ### 将当前目录所有文件归档,但不压缩,注意后面有个 ’.‘ ,不可省略,代表当前目录的意思 tar -xvf filename.tar ### 解压 filename.tar 到当前文件夹 tar -cvjf filename.tar.bz2 . ### 使用 bzip2 压缩 tar -xvjf filename.tar.bz2 ### 解压 filename.tar.bz2 到当前文件夹 tar -cvzf filename.tar.gz ### 使用 gzip 压缩 tar -xvzf filename.tar.gz ### 解压 filename.tar.gz 到当前文件夹 tar -tf filename ### 只查看 filename 归档中的文件,不解压

ln

ln 主要用于在两个文件中创建链接,链接又分为 Hard Links (硬链接)和 Symbolic Links (符号链接或软链接),其中默认为创建硬链接,使用 -s 参数指定创建软链接。

  • 硬链接主要是增加一个文件的链接数,只要该文件的链接数不为 0 ,该文件就不会被物理删除,所以删除一个具有多个硬链接数的文件,必须删除所有它的硬链接才可删除。
  • 软链接简单来说是为文件创建了一个类似快捷方式的东西,通过该链接可以访问文件,修改文件,但不会增加该文件的链接数,删除一个软链接并不会删除源文件,即使源文件被删除,软链接也存在,当重新创建一个同名的源文件,该软链接则指向新创建的文件。
  • 硬链接只可链接两个文件,不可链接目录,而软链接可链接目录,所以软链接是非常灵活的。

ln source dest ### 为 source 创建一个名为 dest 的硬链接 ln -s source dest ### 为 source 创建一个名为 dest 的软链接

chown

chown 用于改变一个文件的所有者及所在的组。chown [选项]… [所有者][:[组]] 文件…

chown user filename ### 改变 filename 的所有者为 user chown user:group filename ### 改变 filename 的所有者为 user,组为 group chown -R root folder ### 改变 folder 文件夹及其子文件的所有者为 root

参数 -c 显示更改的部分的信息

-f 忽略错误信息

-h 修复符号链接

-R 处理指定目录以及其子目录下的所有文件

-v 显示详细的处理信息

-deference 作用于符号链接的指向,而不是链接文件本身

chmod

chmod 永远更改一个文件的权限,主要有 读取 、 写入 、 执行 ,三种权限,其中 所有者 、 用户组 、 其他 各占三个,因此 ls -l 可以看到如下的信息 -rwxr–r– 1 locez users 154 Aug 30 18:09 filename 其中 r=read , w=write , x=execute chmod +x filename ### 为 user ,group ,others 添加执行权限 chmod -x filename ### 取消 user , group ,others 的执行权限 chmod +w filename ### 为 user 添加写入权限 chmod ugo=rwx filename ### 设置 user ,group ,others 具有 读取、写入、执行权限 chmod ug=rw filename ### 设置 user ,group 添加 读取、写入权限 chmod ugo=— filename ### 取消所有权限

wget

wget 是一个下载工具,简单强大。

wget -O newname.md https://github.com/LCTT/TranslateProject/blob/master/README.md ###下载 README 文件并重命名为 newname.md wget -c url ### 下载 url 并开启断点续传

find, whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。

whereis nginx

Find find 也用于查找文件,但更为强大,支持正则,并且可将查找结果传递到其他命令。

find . -name PATTERN ### 从当前目录查找符合 PATTERN 的文件 find /home -name PATTERN -exec ls -l {} ; ### 从 /home 文件查找所有符合 PATTERN 的文件,并交由 ls 输出详细信息 find / -name “vhost.sh” ###从根目录及其子目录查找文件名为vhost.sh的文件

service

service –status-all

  • +: the service is running
  • -: the service is not running
  • ?: the service state cannot be determined (for some reason).
ps, kill

ps -A ###显示所有程序 ps aux | grep shadowsocks ###查找特定程序 shadowsocks 杀掉进程 kill pid# kill-9 324

history

history ###它显示了在终端中所执行过的所有命令的历史。

https://github.com/xirong/my-backend

发布日期:
分类:工程

作者:陳奇諾

做了一点微小的工作。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注