资源描述
Linux操作系统的学习总结
1. 前言
由于很多软件系统都是发布在Linux系统上,所以开发人员必须学会在Linux下编程。习惯了windows下开发,突然接触Linux开发会很不适应,使用过Linux的都知道Linux功能很强大,命令非常多,但是使用者从不用担心记不住如此之多的命令,因为我们只要掌握最常用的命令就行了。开发人员主要是主要进行Linux下c/c++和shell程序的编写,常用的命令并不是很多,所以我总结最常用的命令,通过掌握这些命令可以快速适应Linux下的开发。
2. Linux常用命令
2.1 目录和文件操作
1.cd命令
这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:
cd /root/Docements # 切换到目录/root/Docements
cd ./path # 切换到当前目录下的path目录中,“.”表示当前目录
cd ../path # 切换到上层目录中的path目录中,“..”表示上一层目录
2.ls命令
查看文件与目录的命令,list之意,它的参数非常多,下面就列出一些我常用的参数吧,如下:
-l:列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
参数也可以组合使用如:
ls -l #以长数据串的形式列出当前目录下的数据文件和目录
ls -lR #以长数据串的形式列出当前目录下的所有文件
3.grep命令
在文本中搜索指定的字符串,如:
grep 字符串 要搜索的文件
grep [-acinv] [--color=auto] '查找字符串' filename
grep test /var/log/* //搜索/var/log目录下含有test字符串的文件
参数列表:
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
# 例如:
# 取出文件/etc/man.config中包含MANPATH的行,并把找到的关键字加上颜色
grep --color=auto 'MANPATH' /etc/man.config
# 把ls -l的输出中包含字母file(不区分大小写)的内容输出
ls -l | grep -i file
4.cp命令
用于复制文件,如:
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
参数列表:
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
5. find命令
在子目录中搜索匹配的文件 ,如:
find -name /*按文件名称查找,可以只用通配符*/
find -size /*按万大小查找,可以使用K,M等容量单位*/
find -type /*按文件类型查找,类型f,d,l,b,c分别表示普通文件,目录,链接文件,块设备文件,字符设备文件*/
6.mv 命令
移动文件或目录,可以在移动时改名。移动多个文件或目录时,目标必须是目录
mv -f /*直接强制移动不进行提醒*/
mv -i /*移动时进行提醒确认*/
如:
mv file1 file2 file3 dir # 把文件file1、file2、file3移动到目录dir中
mv file1 file2 # 把文件file1重命名为file2
7. rm 命令
用于删除目录或文件,如:
rm -i file # 删除文件file,在删除之前会询问是否进行该操作
rm -fr dir # 强制删除目录dir中的所有文件
参数列表:
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
8.file 命令
File命令用于判断文件的基本数据类型,如
file filename
#例如:
file ./test
9.tar命令
该命令用于对文件进行打包,压缩和解压,如:
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
参数列表:
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
10.cat 命令
查看文本文件的内容,通常与more和less一起使用,从而可以一页页查看数据,例如:
cat text | less # 查看text文件中的内容
cat text | more
11.mkdir 命令
创建目录命令,如:
mkdir test //在当前目录下,创建test目录
2.2 vi编辑器操作
常用命令:
↑↓ 光标上下移动一行
←→ 光标左右移动一个字符
i 进入编辑状态
esc 退出编辑状态
非编辑状态下使用:
j 光标下移动一行
k 光标上移动一行
h 光标左移动一个字符
l 光标右移动一个字符
dd 删除光标所在行
10 dd 从光标所在行开始,删除10行
yy 复制光标所在行
10 yy 从光标所在行开始,复制10行
p 从光标所在行进行粘贴
u 回退文件以前的状态
r 替代光标所在字符。
x 删除光标当前所在字符
:w 保存
:q 退出
:10 直接把光标跳到第10行
/xxx 查找xxx字符串,n下一匹配;
2.3 编译命令
1.gcc/g++ 命令
用于把C/C++语言的源程序文件,编译成可执行程序,常用参数如下
-o :output之意,用于指定生成一个可执行文件的文件名
-c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
-I :增加编译时搜索头文件的路径
-L :增加编译时搜索静态连接库的路径
-S :把源文件生成汇编代码文件
-lm:表示标准库的目录中名为libm.a的函数库
-lpthread :连接NPTL实现的线程库
-std= :用于指定把使用的C语言的版本
# 例如:
# 把源文件test.c按照c99标准编译成可执行程序test
gcc -o test test.c -lm -std=c99
#把源文件test.c转换为相应的汇编程序源文件test.s
gcc -S test.c
2.4 系统和网络命令
1. ps命令
该命令用于将某个时间点的进程运行情况选取下来并输出,如:
ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态
参数:
-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出
2.top
实时查看当前系统状态:系统运行了多长时间,cpu、内存使用状态
3.kill
杀掉某一正在运行的进程。如
例如: kill -9 [PID]
-9 表示强迫进程立即停止,PID表示进程ID。
4.ping命令
检测网络连通性,如:
ping 目标地址 [-cs]
-c ping的数据包数量
-s ping的数据包大小
ping 192.168.1.212 //连续一直ping
ping 192.168.1.212 -c 5 //ping 5个数据包
ping 192.168.1.212 –s 1500 //以1500数据包的大小进行ping
5.ftp命令
(1)连接服务器
ftp [hostname| ip-address]
a) 在linux命令行下输入:
ftp 192.168.1.1
b) 服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
(2)从远端主机下载文件从远端主机下载文件
get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
ftp> get /usr/your/1.htm 1.htm (回车)
(3)从远端主机下载一批文件
mget [remote-files]
如要获取服务器上/usr/your/下的所有文件
ftp> cd /usr/your/
ftp> mget *.* (回车)
(4)将本地主机中一批文件传送至远端主机
mput local-files
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
ftp> cd /usr/your (回车)
ftp> mput *.htm (回车)
(5)上传文件到主机
put local-file [remote-file]
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
ftp> put 1.htm /usr/your/2.htm (回车)
(6)中断与服务器的连接。断开连接
ftp> bye (回车)
展开阅读全文