linux基本知识1

来源:互联网 发布:淘宝定制商品规则买家 编辑:程序博客网 时间:2024/06/06 19:23
1.linux 基础
2.linux c 语言(数据结构)
3.linux高级编程
4.ARM体系结构
5.sqlite/mysql数据库
6.linux c++
7.QT 界面开发
8.nos  裸机接口驱动(s5pv210)
9.linux系统构建(uboot 内核编译与裁剪  文件系统创建)
10.驱动开发(字符设备  块设备  网络设备)


linux 基础
linux  OS
unix--->linux
GPL:一般公共版权
linux是一个文件系统
linux系统组成:
a.系统内核
b.shell
c.application
linux系统内核组成部分:
1.MM(内存管理)
2.进程管理
3.进程调度
4.文件管理
5.设备与网络接口
linu系统版本:
2.6.21
3.1.0-7.fc16.i686.PAE 
3.1.0
3:内核版本
1.奇数   测试版本
  偶数   发型正式版本
21:对内核修改比较大的次数
linux系统:
fedora
redhat
ubuntu
磁盘分区:
a.主分区(c)
b.逻辑分区(d e f)
MBR:主引导记录区(前512byte)


linux磁盘分区文件名
IDE
hda
hdb


s:(SCSI)
sda1   -  c
sda5   -  D
sda6  -   E
sdb1/2


linux 系统引导方式:
1.GRUB
2.LILO


linux 内核分为内核空间和用户空间
用户空间第一个启动进程 init 进程


linux运行界面:
1.X server(类似于windows)
2.字符 (DOS)


linux运行模式:
1.0   init 0 关机
2.1   单用户
3.2   多用户不带网络(single)
4.3   完全多用户带网络(一般用该模式)
5.4   预留
6.5   图形界面(X server)
7.6   init 6 重启
/etc/inittab (修改运行模式)


模式切换
 图形界面  ->  字符
 [root@localhost etc]# init 3


 字符  ->   图形界面 
 [root@localhost etc]# startx
 [root@localhost etc]# init 5


[yb@localhost /]$ 
[root@localhost /]# 
linux根目录:
bin:一般用户可执行文件
sbin:系统管理员可执行文件
etc:系统配置文件
dev:设备映射文件
home:一般用户主目录(该用户对系统设置文件)
root:root用户主目录
usr: usr/include:系统api函数头文件,系统搜索头文件默认目录
     usr/lib:库文件目录,系统搜索库文件默认目录
     usr/local:用户自己安装其他程序文件
proc:系统实时运行映射目录
mnt:挂载目录(关在 U CDROM)
关在U盘:
1.vm---->removeable devices--->connect
2.fdisk -l  //找到分配/dev/sdb1
3.挂载命令:
   mount  -t vfat /dev/sdb1  /mnt
4.cd /mnt
5.卸载  umount  /mnt
6.vm---->removeable devices--->disconnect


boot:系统启动运行目录


linux命令格式
命令名  选项  参数
commandname   options  paras
ls     
cd 


文件命令
磁盘 分区 及其使用命令
df :磁盘使用情况
df  -a //显示所用磁盘信息
df  --all


du:显示目录(子目录)大小


man:帮助命令
man  command
man  du(q退出帮组界面)
如果man无法使用:
[root@localhost bin]#export PATH=$PATH:/usr/bin


du --help


fdisk 查看磁盘分区表
fdisk -l


显示目录所包含的文件或子目录命令
ls(list)
[root@localhost home]# ls  //显示当前目录信息
常用的选项:
-l:以表格列举目录信息
[root@localhost home]# ls -l
drwxrwxrwx.  2 root       root       4096 Dec 17 11:24 windowshare
-a:显示所哟文件或目录包括隐藏文件或目录
("."开头的文件名 为隐藏文件)
-i:显示文件的节点号(系统自动分配给每一个文件或目录,一定是唯一)


选项组合
ls -ali


[root@localhost yj]# ls -l /etc
// /etc:参数  查看etc目录情况


分解信息:
drwxrwxrwx.  2 root       root       4096 Dec 17 11:24 windowshare
d:文件类型
linux常见文件类型:
-:一般文件
d:目录
b:块设备文件
c:字符设备文件
s:套接字文件socket
l:链接文件
p:管道文件


rwxrwxrwx :对文件或目录操作权限
rwx :文件目录的所有者使用权限
rwx :文件目录所有者同组其他成员使用权限
rwx :除开文件目录所有者所在的组其他组成员使用权限
r:read
w:write
x:excute 执行
2:目录或文件访问入口数
root:目录文件所有者
root:目录文件所有者所在组名


4096:目录文件大小


Dec 17 11:24 目录文件创建日期
windowshare  目录文件名


目录切换
cd  
绝对路径:包含根目录的路径
相对路径:不包含根目录的路径


[root@localhost yj]# cd shell
//相对切换,目标目录是当前目录子目录


[root@localhost yj]# cd /etc
//绝对切换,目标目录与当前目录无任何关系
 
[root@localhost yj]# cd /home/windowshare  //多级目录切换


[root@localhost home]# cd yj/shell


[root@localhost home]# cd /home/windowshare


[root@localhost windowshare]# cd /tmp


特殊用法:
.:表示当前目录
..:表示上一级目录
~:用户主目录
/:根目录


pwd 输出当前目录的绝对路径值


cd .
cd ..
cd ~
cd /
cd ../.. 上一层目录的上一层目录


touch 创建文件
touch 文件名1 文件名2
touch a
touch  b c
创建文件系统会按照默认权限授权
默认权限linux称为掩码,可以umask命令查看
[yj@localhost ~]$ umask
0002


cat 读取文件
cat 文件名
yj@localhost etc]$cat  passwd//相对路径
yj@localhost home]$ cat /etc/passwd//绝对路径


head 读取文件前n行
[yj@localhost home]$ head -10 /etc/passwd


tail读物文件后n行
[yj@localhost home]$ tail -10 /etc/passwd


输出包含指定关键字的行
[yj@localhost home]$ cat /etc/passwd | grep root//root为关键字


分屏输出(满屏输出)
[yj@localhost etc]$ cat passwd |  more//回车输出下一行,文本内容输出完毕,自动结束


[yj@localhost etc]$ cat passwd |  less//回车输出下一行,文本内容输出完毕,按"q"结束


mkdir 创建目录
[yj@localhost ~]$ mkdir a
[root@localhost ~]# mkdir b c
[root@localhost ~]# mkdir /home/aa
[root@localhost ~]# ls /home
[root@localhost ~]# mkdir -p a1/a2//创建多级目录


rmdir 删除空目录
[root@localhost ~]# rmdir c
[root@localhost ~]# rmdir c d




rm 删除文件
[yj@localhost ~]$ rm a b c
[yj@localhost etc]$ rm /home/yj/a


rm删除非空目录
[root@localhost ~]# rm -r a//r:递归 ,先删除子目录,再删除本目录


[root@localhost ~]# rm -rf a1//-f:强制删除


cp 复制文件或目录
复制文件
cp  源文件  目标文件
[root@localhost ~]# cp  /etc/passwd  .
[root@localhost ~]# cp  /etc/passwd  /root
[root@localhost ~]# cp   /etc/passwd  /root/passwd1//复制并且重命名


复制目录
[root@localhost ~]# cp -r aa /tmp


[root@localhost ~]# cp aa/* /tmp


[root@localhost tmp]# rm -f * //删除目录下的所有文件


[root@localhost tmp]# rm -rf * //删除目录下的所有文件和子目录




[root@localhost aa]# cp -r * /tmp //复制当前目录下的所有文件和子目录


[root@localhost aa]# rm -f *.c //删除.c文件


mv移动文件或目录
mv  源文件  目标文件
移动文件
[root@localhost aa]# mv a  /tmp
[root@localhost aa]# mv b e  /tmp
[root@localhost aa]# mv /tmp/b  ./b1
移动目录
[root@localhost ~]# cd /tmp/aa


[root@localhost aa]# mkdir b2
[root@localhost tmp]# mv  aa /root


//重命名操作
[root@localhost aa]# mv b1 b3
[root@localhost aa]# mv b2 b4


关机命令
init 0  只能是root用户
shutdown -h now 只能是root用户
halt  


重启命令
init 6  只能是root用户
shutdown -r now 只能是root用户
reboot  


who 显示所有用户包括虚拟终端用户和物理终端用户
root     tty1         2013-12-17 18:10 (:0)
root     pts/0        2013-12-17 18:22 (:0.0)
root     pts/1        2013-12-17 20:39 (:0.0)


whoami 物理终端用户


wc 统计文档中字符数 行数 单词数
wc   文件名
wc   a.txt  
wc  -c a.txt
wc -w a.txt
wc -l a.txt


grep  查找命令,输出关键字所在行
cat   a.txt |  grep 关键字
cat /etc/passwd  | grep root


whereis  查找,根据关键字在文件系统中搜索,输出物理目录
whereis ls
whereis man


find    当前目录查找文件(文件名  文件大小 文件类型  文件目录 文件创建时间 修改时间 访问时间)
find -type 文件类型(d b c l p s f(-))
find -name  filename


管道符号 "|"
commad1 | commad2 |commad3 | ......
前一个命令输出作为后一个命令输入
cat  /etc/passwd  |  grep root
cat /etc/passwd | grep root | grep operator
cat /etc/passwd | grep root | grep operator | wc


符号重定向
linux三个特殊文件操作符号值:
a.stdin   0 标准输入
b.stdout  1 标准输出
c.stderr  2 错误输出
重定向符号:
输出重定向符号
1.>
2.>>
command 1> 文件名 //默认为标准输出  command > 文件名
command 2> 文件名 //错误信息输出到文件中


ls -l  a.txt  b.txt
ls -l  a.txt  b.txt  > c.txt
ls -l  a.txt  b.txt  1> c.txt
ls -l  a.txt  b.txt  1> c.txt 2> d.txt
在写之前先清空文件,如果文件不存在创建文件


ls -l  a.txt  b.txt
ls -l  a.txt  b.txt  >> c.txt
ls -l  a.txt  b.txt  1>> c.txt
ls -l  a.txt  b.txt  1>> c.txt 2>> d.txt
把新内容追加到文件末尾




输入重定向符号
3.<
4.<<
commad < filename 从文件读取数据,给commad使用
wc < c.txt
cat << 结束符//cat << eof


输入输出符号一起使用:执行顺序:从左到右
cat << eof > e.txt


链接文件
a.硬链接
b.软链接(符号链接)
创建链接文件:
ln   源文件    链接文件
硬链接:
ln a.txt b.txt//实现对源文件物理备份,文件所有属相完全一样,源文件访问入口数+1,如果删除源文件,链接文件可以当作源文件使用


软链接:
ln  -s  源文件    链接文件
ln -s   b.txt     c.txt//类似于window快捷方式文件,链接属相与源文件完全不一样,大小比源文件要小很多,可以使用链接文件(源文件必须要存在) 


echo 回显输出函数
echo "adfsfdsfdsf"
echo  sdfsdfdsfds


修改文件或目录访问权限
chmod  权限   文件名/目录名
rw-r--r--
all:rw-r--r--
user:rw-
grpup:r--r
other:r--


对所有者&&同组其他用户&&其它组用户增加权限
chmod a+r/w/x|rw/rx/wx|rwx  b.txt 
对所有者&&同组其他用户&&其它组用户减少权限
chmod a-r/w/x|rw/rx/wx|rwx  b.txt


chmod a=r/w/x|rw/rx/wx|rwx  b.txt


对所有者增加权限
chmod u+r/w/x|rw/rx/wx|rwx  b.txt 
对所有者减少权限
chmod u-r/w/x|rw/rx/wx|rwx  b.txt
chmod u=r/w/x|rw/rx/wx|rwx  b.txt


对同组其他用户增加权限
chmod g+r/w/x|rw/rx/wx|rwx  b.txt 
对同组其他用户减少权限
chmod g-r/w/x|rw/rx/wx|rwx  b.txt
chmod g=r/w/x|rw/rx/wx|rwx  b.txt


对其它组用户增加权限
chmod o+r/w/x|rw/rx/wx|rwx  b.txt 
对其它组用户减少权限
chmod o-r/w/x|rw/rx/wx|rwx  b.txt
chmod o=r/w/x|rw/rx/wx|rwx  b.txt


八进制数字表示法
r=read=4
w=write=2
x=execute=1
-=0 无权限
765:7=4+2+1=rwx
    6=4+2=rw-
    5=4+1=r-x


chmod 654 b.txt
chmod 321  b.txt


如果创建文件,文件模式:mode&~umask
mode:456
unask:022// umask 0
result:454 // mode & (~umask)


递归授权
[root@localhost yj]# chmod   765   a  -R 
[root@localhost yj]# chmod -R  765   a  




改变文件创建者
chown  用户名   文件名
[root@localhost yj]# chown  yj  a.txt
[root@localhost yj]# chown  test a.txt//错误,test用必须存在


改变文件所属组
chgrp   组名   文件名
[root@localhost yj]# chgrp  yj   a.txt


练习:
1.利用rename命令改变文件名
0 0
原创粉丝点击