转载自:http://tech.hqew.com/fangan_741972
【写在读之前】
1、 黑色加粗的为命令,不可拼读错误;
2、 -->是解释箭头;
3、 所有括号内的内容为补充说明或单词补全,可不输入;
4、 所有标记红色“例”为有图示的例子;
5、 颜色一样、连在一起的且中间有空格的几个单词,是一个命令或一个完整说明;
6、 其它颜色为可以区分设置,没有特殊含义;
7、 实际命令的空格间隔很小,为了加以区别以便让人更清楚地区分,空格一般输入不止一个;
8、 暂时不理解的名词可讨论或网络搜索;
9、 由于水平有限,难免出错或过于繁琐,今后会逐步完善,望指正~
第二课 Linux基本命令(一)
一、基本命令
1、clear -->清屏
2、pwd(print current working directory) -->打印当前目录
3、echo --> 回显
例:echo hello
例:echo $PATH(回显路径)
4、date --> 显示或者设置日期
5、ls(list) --> 显示目录下的文件列表
6、cd(change directory) --> 切换目录
7、alias --> 给某个命令起别名
例:alias ll='ls -l'(=两边不能有空格) 给ls –l重命名为ll
/************************************ ls指令********************************/
1)ls [option...] [arg...]
2)ls -a[ll] --> 显示所有文件,包括隐藏文件
3)ls -l[ong] --> 以长格式显示文件信息
4)ls -al
5)ls -h[uman readable] --> 以k,m,g显示文件的大小
6)ls -F --> 显示文件类型
7)ls -R --> 递归显示
8)ls / --> 显示/目录的内容
9)ls –a / --> 显示/目录的所有内容
10)ls -l --> 以长格式显示文件信息
例:-rwxrwxr-x 1 shangziyun shangziyun 4805 05-12 10:31 a.out
各部分解释如下:
- --> 文件类型(该文件为普通文件,若为d,则为目录)
rwxrwxr-x --> 文件的三组权限(u,g,o),可使用8进制
1 --> 文件的硬链接数
shangziyun --> 文件的属主
shangziyun --> 文件的属组
4805 --> 文件大小(以byte为单位)
05-12 10:31 --> 文件的最后修改时间
a.out --> 文件名
/*************************************************** ls指令 *****************/
8、Linux帮助信息
例:man[ual] ls --> 查找对ls的帮助信息
9、bash常用快捷键
ctrl^c -->结束一个前台进程
ctrl^z -->挂起一个前台进程
ctrl^L -->清屏
二、目录操作命令
1、cd --> 切换工作目录
1)绝对路径和相对路径
2)几个特殊的目录
~ (用户主目录) ~ 等价于/home/sramedu
. (当前目录)
.. (上层目录)
3)cd 后不跟参数,代表回到家目录
2、mkdir --> 创建新目录
3、-p --> 自动创建父目录
4、rmdir --> 删除目录(只能删除空目录)
三、文件操作命令
1、创建文件--> touch (文件存在,则修改最后访问时间;文件不存在,则创建)
例:touch task.c
2、删除文件--> rm
1)rm -r[ecursive] --> 用于删除目录(不管是否为空)
2)rm -f --> 强制删除(即使有错,也不提示)
3)rm -i --> 交互模式
例:rm a.out
例:rm -r dir1
例:rm -rf dir1
3、复制(复制+粘贴) --> cp
1)cp -r --> 用于复制目录
2)cp -f --> 强制复制
3)cp -i --> 交互模式
例:cp /etc/passwd ~/Desktop/passwd --> 将/etc/passwd复制到~/Desktop/passwd下
例:cp -r dir1 ~/Desktop
4、移动(剪切+粘贴)(实质上相当于重命名) --> mv
例:mv /etc/passwd ~/pass
说明:提示权限不够,例子不恰当,但格式是没有问题的,倘若切换到root用户,还是可以操作的(不建议尝试)
例:mv dir1 dir2
5、查看文件内容--> cat
more/less --> 分页查看(每次显示一页,space向下翻页,b向上翻页)
例:more /etc/passwd
例:less /etc/passwd
例:head/tail --> 显示文件的前n行/后n行
例:head /etc/passwd --> 显示/etc/passwd的前n行/后n行
例:head -n 5 /etc/passwd --> 显示/etc/passwd的前5行
6、修改文件内容(写文件),利用VIM编辑器(输入vi或vim命令)
7、查看文件类型--> file
例:file dir1
8、文字统计--> wc
例:wc -l 统计行数
例:wc -c 统计字节数
9、文件查找--> 1、find
格式:find [查找路径] [选项] [参数]
例:find / -name passwd --> 通过名字查找passwd文件
2、locate
10、文件内容查找--> grep
例:grep 'shang' /etc/passwd -->在/etc/passwd下查找关键字“shang”
四、正则表达式
通配符:
* --> 0个或者任意多个任意字符
? --> 1个任意字符
五、文件重定向
标准设备:
stdin(0),stdout(1),stderr(2)
0 --> < 输入重定向
1 --> > 输出重定向
2 --> 2>错误重定向
六、文件查找(find,locate和grep)
1、find
指令格式:find [路径] [选项] [参数]
[选项(查找方式)]:
-name
-size
-mtime
-atime
-type
-uid
-perm
举例:
1)查找系统中所有的passwd文件(由于此类文件太多,将不需要的统统放入无底洞)
find / -name 'passwd' 2>/dev/null >res.txt
2)查找/etc目录下所有以'txt'为后缀的文件(由于
find /etc -name '*.txt'
3)查找主目录下 大小<1024的文件
find ~ -size -1024c
4)查找系统中所有最后修改时间在1天之前的文件
find / -mtime +1
5)查找当前目录下所有的.c文件并且打包为code.zip
find . -name '*.c' | xargs zip code.zip
6)查找当前目录下所有的.txt文件,并且删除
find . -name '*.txt' | xargs rm
7)查找/usr/include中哪个头文件有printf的定义
find /usr/include -name '*.h' | xargs grep 'printf' //将find的结果当做文件看待,从文件中找printf
find /usr/include -name '*.h' | grep 'printf' //将find的结果当做字符串看待,从中找到printf
提示:
'|'默认将之前命令的输出当做“普通的字符串”看待,如果需要当做文件来处理,必须加xargs选项
2、locate
从系统数据库中查找某个文件,速度快。
系统数据库一般在系统启动时建立,因此,新创建的文件可能会找不到
3、grep -- 查找内容
七、管道符号 --> |
说明:管道符号连接两个命令,将前面命令的输出,当做后面命令的输入
例:cat /etc/passwd | more
例:ls -l | wc -l
例:find . -name '*.c' | xargs zip code.zip -->查找当前目录下的c文件并打包到当前目录下的code.zip