linux

来源:互联网 发布:双色球排列组合软件 编辑:程序博客网 时间:2024/06/07 07:16

    • 常用快捷键
    • 常用命令
      • ls命令
      • 更改用户权限
      • 目录结构及文件操作
      • 其它命令
      • 文件类型
    • shell常用通配符
    • 文件基本操作
      • 新建
      • 复制
      • 删除
      • 移动文件重命名
      • 查看文件
      • 查看文件类型
    • 文件打包与压缩
      • zip命令
      • unzip命令
      • rar命令
      • unrar命令
      • tar命令
      • 压缩常用命令
    • 文件上传与下载
      • rz 命令
      • sz 命令
    • 文件系统操作与磁盘管理
      • df 命令
      • du 命令
    • 帮助命令
      • help命令
      • man命令
      • info命令
    • 例行性工作

常用快捷键

按键 作用 Ctrl+c 终止进程 Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行 Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg Ctrl+a 将光标移至输入行头,相当于Home键 Ctrl+e 将光标移至输入行末,相当于End键 Ctrl+k 删除从光标所在位置到行末 Alt+Backspace 向前删除一个单词 Shift+PgUp 将终端显示向上滚动 Shift+PgDn 将终端显示向下滚动

常用命令

ls命令

#显示除了.(当前目录)和..(上一级目录)之外的所有文件,包括隐藏文件(Linux下以.开头的文件为隐藏文件)ls -A#使用较长格式列出文件ls -l 或 ll #查看某一个目录的完整属性,而不是显示目录里面的文件属性:ls -dl <目录名>#显示所有文件大小,并以普通人类能看懂的方式呈现:ls -AsSh其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。

更改用户权限

chmod go-rw iphone6

g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。

目录结构及文件操作

这里写图片描述

使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(注意,我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)

#进入上一级目录:cd ..#进入你的 home 目录:cd ~ 或 cd /home/<你的用户名>#使用 pwd 获取当前路径:pwd# 绝对路径cd /usr/local/bin# 相对路径cd ../../usr/local/bin

其它命令

#创建一个名为文件,touch是一个命令touch file #进入一个目录,cd是一个命令cd /etc/#查看当前所在目录pwd#命令用于读取指定文件的内容并打印到终端输出cat#创建名为“ mydir ”的空目录:mkdir mydir#使用 cp(copy)命令复制一个文件到指定目录。#将之前创建的“ test ”文件复制到“ /home/shiyanlou/father/son/grandson ”目录中:cp test father/son/grandson#要成功复制目录需要加上 -r 或者 -R 参数,表示递归复制:cp -r father family

文件类型

关于文件类型,这里有一点你必需时刻牢记 Linux 里面一切皆文件,正因为这一点才有了设备文件( /dev 目录下有各种设备文件,大都跟具体的硬件设备相关)这一说。
socket:网络套接字,具体是什么,感兴趣的用户可以自己去了解或期待实验楼的后续相关课程。
pipe 管道,这个东西很重要,我们以后将会讨论到,这里你先知道有它的存在即可。
软链接文件:链接文件是分为两种的,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式,你记住这一点就够了)。

shell常用通配符

通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)。当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正字符。

字符 含义 * 匹配 0 或多个字符 ? 匹配任意一个字符 [list] 匹配 list 中的任意单一字符 [!list] 匹配 除list 中的任意单一字符以外的字符 [c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] {string1,string2,…} 匹配 string1 或 string2 (或更多)其一字符串 {c1..c2} 匹配 c1-c2 中全部字符 如{1..10}

文件基本操作

新建

#新建空白文件$ touch file #新建目录 -p$ mkdir directory#使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用):mkdir -p father/son/grandson

复制

#复制文件使用 cp(copy)命令复制一个文件到指定目录。将之前创建的“ test ”文件复制到“ /home/shiyanlou/father/son/grandson ”目录中:$ cp test father/son/grandson#复制目录 -r$ cp -r father family

删除

#删除文件$ rm test#强制删除 -f$ rm -f test#删除目录 -r$ rm -r family

移动文件、重命名

#重命名文件#mv 旧的文件名 新的文件名:$ mv file1 myfile#批量重命名# 使用通配符批量创建 5 个文件:$ touch file{1..5}.txt# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:$ rename 's/\.txt/\.c/' *.txt# 批量将这 5 个文件,文件名改为大写:$ rename 'y/a-z/A-Z/' *.c

查看文件

cat、tac命令

#cat,tac 打印文件内容到标准输出(终端),其中 cat 为正序显示,tac 为倒序显示。#显示行数 -n$ cat -n passwd

nl 命令,添加行号并打印,这是个比 cat -n 更专业的行号打印命令。
这里简单列举它的常用的几个参数:
-b : 指定添加行号的方式,主要有两种:
-b a:表示无论是否为空行,同样列出行号(“cat -n”就是这种方式)
-b t:只列出非空行的编号并列出(默认为这种方式)
-n : 设置行号的样式,主要有三种:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右边显示,且不加 0
-n rz:在行号字段最右边显示,且加 0
-w : 行号字段占用的位数(默认为 6 位)


tail、head命令

#查看文件前几行$ tail /etc/passwd#选择看几行 -n$ tail -n 1 /etc/passwd#实时读取某文件内容并显示 -f$ tail -f /etc/passwd

查看文件类型

$ file /bin/ls

文件打包与压缩

zip命令

$ zip -r -q -o shiyanlou.zip /home/shiyanlou$ du -h shiyanlou.zip$ file shiyanlou.zip

上面命令将目录 /home/shiyanlou 打包成一个文件,并查看了打包后文件的大小和类型。
第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小。

注意: 关于 zip 命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:

#需要加上 -l 参数将 LF 转换为 CR+LF 来达到以上目的$ zip -r -l -o shiyanlou.zip /home/shiyanlou

unzip命令

使用安静模式,将文件解压到指定目录:
$ unzip -q shiyanlou.zip -d ziptest

rar命令

注意:rar 的命令参数没有 -,如果加上会报错。

$ rar a shiyanlou.rar .上面的命令使用 a 参数添加一个目录 ~ 到一个归档文件中,如果该文件不存在就会自动创建。从指定压缩包文件中删除某个文件:$ rar d shiyanlou.rar .zshrc查看不解压文件:$ rar l shiyanlou.rar

unrar命令

全路径解压:$ unrar x shiyanlou.rar去掉路径解压:$ mkdir tmp$ unrar e shiyanlou.rar tmp/

tar命令

不进行压缩只是进行打包(创建归档文件):

$ tar -cf shiyanlou.tar ~

上面命令中,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。你还可以加上 -v 参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的 /,你也可以使用 -P 保留绝对路径符。

 解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数):$ mkdir tardir$ tar -xf shiyanlou.tar -C tardir只查看不解包文件 -t 参数:$ tar -tf shiyanlou.tar

压缩常用命令

zip:    打包 :zip something.zip something (目录请加 -r 参数)    解包:unzip something    指定路径:-d 参数tar:    打包:tar -zcvf something.tar something    解包:tar -zxvf something.tar    指定路径:-C 参数

文件上传与下载

rz 命令

rz命令本地上传文件到服务器:
rz -y

sz 命令

sz命令发送文件到本地:
sz filename1 filename2......


文件系统操作与磁盘管理

df 命令

# df 命令查看磁盘的容量$ df# 参数-h 易读方式展示$ df -h

du 命令

du 命令查看目录的容量

$ du# 易读方式展示$ du -h 

参数 -d 指定查看目录的深度

# 只查看1级目录的信息$ du -h -d 0 ~# 查看2级$ du -h -d 1 ~

常用参数

du -h #同--human-readable 以K,M,G为单位,提高信息的可读性。du -a #同--all 显示目录中所有文件的大小。du -s #同--summarize 仅显示总计,只列出最后加总的值。

帮助命令

help命令

# help 命令用于显示 shell 内建命令的简要帮助信息$ help exit# --help 参数查看外部命令帮助信息$ ls --help

man命令

#获得某个命令的说明和使用方式的详细介绍man <command_name>

man手册的内容很多,涉及了 Linux 使用过程中的方方面面。为了便于查找,man 手册被进行了分册(分区段)处理,在 Research UNIX、BSD、OS X 和 Linux 中,手册通常被分为8个区段,安排如下:
区段 说明
1 一般命令
2 系统调用
3 库函数,涵盖了C标准函数库
4 特殊文件(通常是/dev中的设备)和驱动程序
5 文件格式和约定
6 游戏和屏保
7 杂项
8 系统管理命令和守护进程
要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如:
$ man 1 ls

通常 man 手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man 中使用搜索/<你要搜索的关键字>,查找完毕后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim 编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为 man 使用 less 作为阅读器,实为less工具的帮助),按下q退出。

想要获得更详细的帮助,你还可以使用info命令,不过通常使用man就足够了。如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用–help参数,大部分命令都会带有这个参数,如:
$ ls --help

info命令

info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息,所以得到的信息更多。

$ info ls

例行性工作

个人化的行为使用『 crontab -e 』:如果你是依据个人需求来建立的例行工作排程,建议直接使用 crontab -e 来建立你的工作排程较佳! 这样也能保障你的指令行为不会被大家看到 (/etc/crontab 是大家都能读取的权限喔!);

系统维护管理使用『 vim /etc/crontab 』:如果你这个例行工作排程是系统的重要工作,为了让自己管理方便,同时容易追踪,建议直接写入 /etc/crontab 较佳!

自己开发软体使用『 vim /etc/cron.d/newfile 』:如果你是想要自己开发软体,那当然最好就是使用全新的设定档,并且放置于 /etc/cron.d/ 目录内即可。

固定每小时、每日、每周、每天执行的特别工作:如果与系统维护有关,还是建议放置到 /etc/crontab 中来集中管理较好。 如果想要偷懒,或者是一定要再某个周期内进行的任务,也可以放置到上面谈到的几个目录中,直接写入指令即可!

# Example of job definition:# .---------------- minute (0 - 59)# |  .------------- hour (0 - 23)# |  |  .---------- day of month (1 - 31)# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# |  |  |  |  |# *  *  *  *  * user-name command to be executed

crontab命令使用

usage:  crontab [-u user] file        crontab [ -u user ] [ -i ] { -e | -l | -r }                (default operation is replace, per 1003.2)        -e      (edit user's crontab)        -l      (list user's crontab)        -r      (delete user's crontab)        -i      (prompt before deleting user's crontab)

添加任务计划

crontab -e* * * * * touch /home/shiyanlou/$(date +\%Y\%m\%d\%H\%M\%S)

注:“ % ” 在 crontab 文件中,有结束命令行、换行、重定向的作用,前面加 ” \ ” 符号转意,否则,“ % ” 符号将执行其结束命令行或者换行的作用,并且其后的内容会被做为标准输入发送给前面的命令。

确认crontab是否成功启动

ps aux | grep cronorpgrep cron
原创粉丝点击