LINUX学习笔记共五部分
LINUX学习笔记1——LINUX系统命令
1. 界面切换:
a) 进入字符界面:按住ctrl+alt+F1:
1. 首先需要进入用户登入,输入用户名和密码,标志:login
2. 注意:F1-F6都是字符界面,从而实现多任务多用户
b) 进入图形化界面:按住ctrl+alt+F7
c) 程序的暂停和跳出命令行语句:ctrl+c
2. 后缀:指令后面的后缀代表一些特定的含义,各个指令具体不太一样
a) –r:对目录操作
b) –f:不提醒,表示强制
c) –i:对操作设置提醒
d) –p:可以创建多层
e) –a:表示隐含文件
3. 配置命令:alias 可以自己对命令进行配置
a) [root@pact ~]# alias
a)alias cp='cp -i'
a)alias l.='ls -d .* --color=tty'
a)alias ll='ls -l --color=tty'
a)alias ls='ls --color=tty'
a)alias mv='mv -i'
a)alias rm='rm -i'
a)alias vi='vim'
a)alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
a)[root@pact ~]#
4. 用户区分:超级用户是#号,普通用户的是$
a) 超级用户:root
5. 添加用户:useradd 用户名
a) 会在home目录下添加相应的用户目录
6. 修改用户密码:passwd 用户名
7. 切换用户:su 用户名
a) 超级用户切换到普通用户不需要密码,
b) 普通用户切换到其它用户需要密码
8. 关机:shut down
9. 拷贝文件:cp 源文件 目标位置 中间空格
a) 源文件应该是当前目录下的文件
b) 目标位置应该写具体:否则默认为当前目录下,如果都是当前目录下,则认为是重命名。
10. 拷贝目录:cp-r 源文件 目标位置 中间空格
a) 只拷贝文件夹里面的所有文件,但是不带文件夹
11. 移动:mv 源文件位置 目标位置 中间空格
a) 目标位置应该是具体的地址,否则将成为更改名字了
12. 更改名字:mv 源文件名 目标名 中间空格
13. 删除:rm
a) 删除目录:rm-r
b) 删除文件不提醒,强制删除:rm-f
14. 目录:
a) 创建目录:mkdir
b) 创建多层子目录:mkdir-p
c) 改变工作目录:cd
d) 回到原来的目录:cd-
e) 查看当前路径:pwd
15. 文件:
a) 显示目录文件:ls
b) 显示隐含文件:ls-a
c) 把文件改成隐含文件:更改文件名,在前面加.
16. 打包:打包不同与压缩
a) 文件后缀:打包文件:.tar 压缩文件:.gz
b) 打包:tar cvf 打包后的名称 需要打包的文件
1. C表示创建,v表示详细的,f表示文件,可通过man 来了解指令的具体用法。
c) 解包:tar xvf
d) 打包压缩:tar cvzf
e) 解包解压:tar xvzf
f) 解压缩:unzip
17. 文件访问权限
a) 显示文件权限:ls-l
b) 有三种不同类型的用户可对文件或目录进行访问:文件所有者,与所有者同组的用户、其他用户。所有者一般是文件的创建者。
c) -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. Tgz
d) 注意这里共有10个位置。第一个字符指定了文件类型,如果第一个字符是横线,表示是一个非目录的普通文件。后面9个字符每3个一组,表示三类用户的权限。如果是d,表示是一个目录。r代表只读,w代表写,x代表可执行,横线代表无该项权限。
e) 改变权限:chmod [who] [+ | - | =] [mode] 文件名
1. u 表示文件的所有者。
2. g 表示与文件所有者同组的用户。
3. o 表示“其他用户”。
4. a 表示“所有用户”。它是系统默认值。
5. + 添加某个权限
6. - 取消某个权限
7. = 赋予给定权限
18. 查看空间使用情况
a) 查看磁盘使用情况:df
b) 查看磁盘使用情况以kb显示:df-k
c) 查看目录使用情况:du
d) 查看目录使用情况以b显示:du-b
19. 网络配置:只有超级用户才可以这么做
a) 配置IP地址:ifconfig eth0 192.168.0.1
b) 暂停eth0这一网卡的工作:ifconfig eth0 down
c) 恢复eth0这一网卡的工作:ifconfig eth0 up
20. 查看网络状态:netstat
a) 查看系统中所有的网络监听端口:netstat –a
21. 软件安装
a) 安装名字为tftp的文件:rpm -ivh tftp.rpm
b) 列出所有已安装rpm包:rpm –qa
c) 卸载名字为name的rpm包:rpm –e name
22. 挂载:将文件以某一个目录的方式存在与LINUX系统中,一般是mnt目录中
a) 将光驱挂载到/mnt目录下:mount /dev/cdrom /mnt
b) 取消光驱在/mnt下的挂载:umount /mn
23. 查找文件:
a) find 路径 -name ‘文件名’ 之间都有空格
b) 模糊查找:在当前目录及其子目录中寻找名为co开头的文件:find . -name ‘co*’
c) 精确查找:在当前目录及其子目录中寻找名为test的文件:find . –name ‘test’
24. 查找字符串:
a) 在当前目录及其子目录中,查找包含file字符串的文件:grep “file”. -rn
b) 查看所有端口中用于tftp的端口:netstat –a | grep tftp
25. 动态查看CPU使用:top
26. 查看进程: 查看系统中的所有进程:ps aux
27. 杀死进程:杀死4096号进程:kill –s SIGKILL 4096
28. 帮助:man
29. 计算程序运行时间:time . 文件名
30. 查看当前时间:date
LINUX学习笔记2——文件编程
a) vi 是linux系统的第一个全屏幕交互式编辑器
b) 。vi 有3种工作模式,分别是命令行模式、插入模式、底行模式
c) 基本功能:
1. 进入编辑:vi hello.c
2. 键入i进入插入模式
3. 键入[ESC]退入到命令行模式
4. 键入:进入底行模式
5. 键入:wq保存退出
d) 命令行模式功能键:
1. •yy: 复制当前光标所在行
2. •[n]yy:n为数字,复制当前光标开始的n行
3. •p: 粘贴复制的内容到光标所在下一行
4. •dd:删除当前光标所在行
5. •[n]dd:删除当前光标所在行开始的n行
6. •/name:查找光标之后的名为“name”的字符串
7. •G:光标移动到文件尾(注意是大写)
8. •u: 取消前一个动作(注意是小写)
e) 底行模式功能键:
1. •:w 保存
2. •:q 退出vi(系统会提示保存修改)
3. •:q! 强行退出(对修改不做保存)
4. •:wq 保存后退出
5. •:w [filename] 另存为filename的文件
6. •:set nu 显示行号
7. •:set nonu 取消行号
LINUX学习笔记3——TFTP服务器
a) 作用:主要提供对目标机的主要映像文件的下载工作,文件传输协议
b) 宿主机:是执行编译、链接嵌入式软件的计算机
c) 目标机:是运行嵌入式软件的硬件平台。
d) 安装:
1. 检查是否安装:
a) Setup 中的系统服务中是否有tftp
b) netstat -a | grep tftp 查看是否已运行
2. 查看服务器是否运行:service xinetd status
3. 安装:rpm -ivh tftp-server-0.42-3.1.i386.rpm
4. 在根目录下建立tftp的主工作目录:mkdir /tftpboot
e) 修改配置文件:vi /etc/xinetd.d/tftp
1. 下载文件的位置:server_args = -s /tftpboot
2. 禁止否:disable = no
f) 启动:#/etc/init.d/xinetd start
g) 重启系统: 完成安装
LINUX学习笔记4——SMB服务器
a) 作用:实现LINUX与WINDOWS之间的共享,
b) 连通网络:
1. 选择:setup,network,:
2. 查看本地电脑的网络:运行,cmd,ipconfig
3. 关闭电脑防火墙
4. 把linux的网络配置好
5. 启动网络服务:/etc/init.d/network restart
6. 查看网络是否连通:ping 192.168.1.104 ping的作用是看能否连接到其它的计算机,所以IP地址应该是你需要连接的电脑的IP地址
c) 配置:修改/etc/samba/smb.conf,添加
1. [root] doc.codesky.net
2. comment = Root Directories
3. browseable = yes
4. writeable = yes
5. path = /
6. valid users = smb(用户名)
d) //添加用户:Useradd smb //添加smb系统用户
e) 通过修改密码来增加用户:Smbpasswd -a smb //修改密码
f) 每次开机都需要启动smb服务:/etc/init.d/smb restart
g) 在电脑上通过运行输入\\ 192.186.1.106 来进入LINUX的共享文件:并不是通过网上邻居来进入
LINUX学习笔记5——SHELL解析器
a) 作用:将用户输入的指令转换为相应的机器能够运行的程序。方便的重复输入相同的指令。
b) 脚本文件:就是程序的意思
c) 建立shell脚本文件
1. 直接用vi打开的文件就可以,文件名的后缀为.sh
2. #!/bin/sh:#!用来指定该脚本文件的解析程序
3. chmod +x filename:须使其具有可执行属性
4. 使用:. 文件名
d) 注释:,以#开头的句子表示注释
e) 变量:
1. 不用定义,直接赋值:a="hello world",,“=”左右两边都不能有空格
2. 使用变量:$a,${num}nd,加括号防止混淆
3. 默认变量:
a) $# :传入脚本的命令行参数个数
b) $* :所有命令行参数值,在各个参数值之间留有空格
c) $0 :命令本身(shell文件名)
d) $1 :第一个命令行参数
e) $2 :第二个命令行参数
4. 局部变量:在变量首次被赋值时加上local 关键字local hello ="var2"
f) 系统函数:
1. 输出:echo
g) 循环结构
1. 注意1:括号左右都得有空格,
2. 注意2:比较符左右都得有空格
3. If语句
a) if [ expression ]
b) then
c) #code block
i. else if [ expression ] 简写:elif
ii. then
iii. #code block
iv. else
v. #code block
vi. Fi
d) Fi
4. For循环
a) for var in [list] 变量var 是没有加"$" 符号的
b) do
c) #code block
d) Done
5. while循环
a) while [ condition ] 为真时执行
b) do
c) #code block
d) Done
6. until循环
a) until [ condition ] 为假时执行
b) do
c) #code block
d) Done
7. Case语句
a) case "$var" in
b) condition1 )
c) ;; 相当于break
d) condition2 )
e) ;;
f) * ) default statments;; 相当于默认条件
g) esac
h) 比较:
1. 比较操作 整数操作 字符串操作
2. 相同-eq =
3. 不同-ne !=
4. 大于-gt >
5. 小于-lt <
6. 大于或等于-ge
7. 小于或等于-le
8. 为空-z
9. 不为空 –n
10. 在“[”和“]”符号的左右都留有空格
11. “=”左右都有空格
i) 判断:
1. -e 文件已经存在
2. -f 文件是普通文件
3. -s 文件大小不为零
4. -d 文件是一个目录
5. -r 文件对当前用户可以读取
6. -w 文件对当前用户可以写入
7. -x 文件对当前用户可以执行