一,Linux的基本思想
1,一切都是文件。
2,由短小精悍单一的程序组成。
3,组合小程序完成大任务。
二,关于静态库和动态库的问题
举个栗子: 。。。。。。
printf("...");
printf("......");
。。。。。。。。
一条程序需要经过以下过程:
编码,编译,链接,运行。
静态库:在编译时刻,将printf源码拷贝到调用位置,2次。这样使得代码量变大。
动态库:在链接时才会被放到内存中,而且只有一份。
在Linux下,静态是用.a结尾;动态是用.so结尾。
三,Linux的目录说明
重点:/bin,/sbin /usr/bin,/usr/sbin /usr/local/bin,/usr/local/sbin的详细理解和差别
/bin:系统的指令。主要就是放置一些系统的必备执行档例。比如说ls、cat、cp、gzip等。
/sbin:超级用户指令。里面放的是一些系统管理的必备程式,比如说reboot,dump,ifup等
/usr/bin:后期安装的软件的运行脚本。主要是放置一些应用软体工具的必备执行档例。例如:c++,gcc,du,gzip;
/usr/sbin:放置一些用户安装的进行系统管理必备的程式。比如,dhcpd,httpd,imap等。
/usr/local/bin:第三方程序执行
/usr/local/sbin:第三方程序管理命令
四,文件类型(记住)
普通文件:-
目录文件:d
链接文件:l
设备文件:b
串行端口设备:c
五,Linux下的简单命令
1,ls
ls -a 显示所有的文件,包括显示隐藏文件。
ls -l 显示详细信息
2,mkdir (创建新目录)
mkdir -p test/test1/test2 递归创建
3,rmdir (删除空目录,非空的删除不了)
rmdir test2
4,rm (删除文件)
rm -rf test 递归删除。
注意:-r 删除目录,递归删除
-f 强制执行
5,pwd (显示当前目录)
注意:此处的是绝对目录,即从根开始。
6,cp (复制文件或者目录)
-r 复制目录
-p 保留文件属性
-i 覆盖文件前询问用户
-v 显示指令执行过程。
7,mv(剪切文件,改名)
栗子:mkdir 1
mv 1 test
ls
test
8,more & less(分页显示文件内容) less可以向上翻页
9,ln (生成链接文件)
栗子:
ln -s /bin/ls aa :相当于aa指向了ls命令。这就好比aa是window下桌面上的快捷方式,而/bin/ls是真正的链接。
此时的aa只在当前目录下可以使用。就是使用./aa和ls的命令相同。
至于为什么只能在当前的目录下使用,这就相当于学Java的时候,必须先配置Java环境一样(就是一堆目录)。只有配置好了环境,Java才可以使用基本的命令,可以随时访问。Linux下aa的路径并不和ls的路径相等,即aa的路径不在配置的环境之中,只能在当前的目录下使用。
10,chomd (改变文件或者目录权限)
chmod a---->all =赋值 文件或者目录
u---->user------>属主 +赋权限
g--->group ---->属组 -减权限
o---->other----->其他
例子:
[wang@localhost wan]$ ls -l
total 8
drwxrwxr-x. 2 wang wang 4096 Mar 12 20:02 3
[wang@localhost wan]$ chmod o-x 3
[wang@localhost wan]$ ll
total 8
drwxrwxr--. 2 wang wang 4096 Mar 12 20:02 3
------------------------------------------------------------------------------------------------------
X X X
1 0 0 ---->r----->4
0 1 0 ----->w---->2
0 0 1 ------>x----->1
例子:
[wang@localhost wan]$ chmod 763 3 //763 属主可读可写可执行,属组可读可写,其他可写可执行
[wang@localhost wan]$ ll
total 8drwxrw--wx. 2 wang wang 4096 Mar 12 20:02 3
11,chown (改变文件或目录的所有者) chown yang test
改变文件test的所有者为yang
12,chgrp(改变文件或目录的所属组)
chgrp yangs test
改变文件test的所属组为yangs