工作中的Linux学习 – 原创

如果您以为您不是从事嵌入式开发就可以不用了解Linux,那就大错特错了
现在的一些比较正规的企业开发,特别是大型企业的开发,都是在Linux环境下的
特别是服务端的开发,所用的服务器都是用Linux操作系统
我也没有想到我现在的工作竟然是在Linux下进行开发的
以下记录一下在工作中对Linux的学习(并非在文中会穿插一些系统架框与设计思想)
Linux发展史
1991年10月5日由荷兰赫尔辛基大学计算机系二年级学生Linus Benedic Torvalds设计出0.1版内核,后经众多的程序员的不断努力,现已成为全球应用最广泛的UNIX类操作系统。
目前linux已有Red hat,Suse, OpenLinux, Ubuntu等众多的版本,这些版本采用相同的内核,差异只在于外围的应用软件。
目前来说大型企业的应用程序都是在服务器上运行了,而为了追求稳定与安全,绝大部分都程序布署在linux系统上,而客户端可以使用window系统。如果您以为搞嵌入式才会碰Linux,那就大错特错了,需要Linux知识的工作有大型ERP系统的开发,银行系统的开发,游戏服务器等这些都是需要Linux人才了,为了避免杯具的情况,请学习Linux。
Linux与Shell
如果您是在工作中接触到Linux,那样的话没有多大的可能性是使用图形化的界面,为了节省系统的资源,一般是使用Shell来操作Linux系统,Shell其实类似Window下的Doc。
用户通过Shell来完成对内核程序的调用。其实任何的软件最终的实现都是系统内核来完成,我们平时编写的软件的都是通过对系统内核进行调用,最终完成功能,只不过我们编写的时候只关注高层,没有去了解底层。
常见的Shell类型有ash, bash, ksh, csh, zsh。
使用以下命令可以查看当前使用的Shell的类型: echo $SHELL。
Linux基本操作
1.登录系统
使用连线工具, telnet连入主机
telnet 192.168.6.199
实际工作中,服务器只有一台,但是开发或维护以及使用的人却是很多的,所以不是直接在服务器上的机登录,而是在其它的机上通过网络来访问服务器,并进行相关的操作。所以要使用telnet来远程登录,输入telnet跟主机所在的Ip后,会要求输入用户名跟密码,注意linux系统是区分大上写的,然后就可以通过本地的Shell发对远程主机发送指令。
退出登录使用指令exit 或 Ctrl + D
2.关闭或重启系统
关闭主机
shutdown -h now 或 init 0
重启系统
reboot 或 init 6
3.管理用户
修改自已的密码
passwd
管理员还可以修改其它人的密码
passwd [username]
4.用户身份切换
查看当前用户
id
切换其它用户身份
su oracle 或 su – oracle
su 跟 su – 的区别在于前者只是简单的切换当前用户,后者改变用户的同是执行新用户的.profile文件
5.用户信息文件.profile
在ksh中,每个用户在登录之后,都会自动执行其主目录下的.profile文件,我们可以编辑该文件,在其中设定一些环境变量或者预执行操作
在Linux系统中,以”.”开头的文件属于隐藏文件,我们可以使用”ls -a”命令看到这些隐藏文件
在任何目录下,使用”CD”命令即可回到用户的主目录
其中”.”表示当前目录,而”..”表示上级目录
6.环境变量
环境变量可以理解为系统参数,除了系统自己的环境变量之外,在LInux系统上的很多的应用软件都支持自己的特有的环境变量。在.profile中主要是对环境变量的设定。环境变量相关的操作有
隐藏文件不可见,但是可以直接进行编辑
设置环境变量
export ORACLE_SID = [SID]
是示环境变量的当前值
echo $ORACLE_SID
显示当前用户设定的所有环境变量以及它们的值
set
7.环境变量修改实例
echo $LANG
export LANG=zh_CH.gb2312
设置环境变量很重要也很有用,假如你的服务的程序放在某个地方,而每次修改都要到这个地方进行操作,那样您可以为这个地方设置一个环境变量为$CUST,以后输入cd $CUST就可以进入该目录,节省时间跟出错率。)
8.查看命令的帮助
在Linux系统中,很多命令都带有复杂的参数,要了解这些命令的具体用法,可以使用以下三种方法:
man [command]
[command] –help
[command] -h
其中man命令是linux自带的指令说明程序,对于标准的linux指令都有效,下面的两种要视具体命令而定,有些命令不带任何参数也会弹出提示
Linux文件系统与相关的指令
1.Linux文件系统结构
根目录
/表示根目录,任何目录及文件均由此开始建立
当前目录
使用pwd查看当前目录
主目录
查看环境变量$HOME
绝对路径
以根目录(/)开始的路径称为绝对路径
相对路径
不是以根目录(/)开始的路径称为相对路径
2.通配符与正则表达式
通配符,在执行文件操作时可以使用通配符来执行模糊查询,其中”*”表示符意长度的任意字符串,”?”表示单个的任意字符串。
正则表达式
[0..9a..z]该位置为任意字符
[a..z]该位置为a~z之间的任意字符
[!a..z]为非a~z之间的任意字符。
3.文件相关指令
列出文件清单。
4.文件相关指令
touch [filename]。
touch命令的正式用法是更新一个文件或者目录的最近访问/修改时间。但是我们在应用过程中需要创建一个空文件的时候,比如说一个新的Informaix数据库),使用这条命令会十分方便。
5.文件相关指令 – 显示文件内容
cat [filename]。
more [filename]
使用more的时候单击回车,可以到下一行,单击空格可以得到下一页,单击q可以退出程序。
6.文件相关指令 – 显示文件内容
显示文件的最后n行
tail -n [number] [filename]
实时刷新显示
tail -f [filename]
7.文件相关指令 – 创建文件夹
创建目录
mkdir [dirname]
说明:创建目录时,用户必须对当前的目录有写权限,否则会导致创建失败,新建目录的默认权限受该用户当前的umask参数影响,可以一次性创建多个目录 mkdir a b c d
删除目录
rmdir [option] [dirname]
rm [option] [dirname]
在linux系统中被删除的文件无法恢复,所以使用该指令前务必确认操作
说明: -r 参数表示连同子目录一并删除
-f表示遇到只读文件也一并删除
-i表示以交互方式进行删除
7.文件相关指令 – 目录操作
切换目录
cd [dirname]
复制目录
cp -r [source] [target]
-r参数表示将其下所有子目录和文件也一并复制
移动目录
mv [old] [new]
8.文件相关指令 – 查看磁盘
查看当前的磁盘使用状况
df -h
显示目录大小
du -s [directory]
一个大型的系统应该做好硬盘的规划,可以在根目录下创建三个区,分别为/u1, /u2, /u3,然后u1为程序盘, u2为数据库, u3为备份区
8.文件相关指令 – 文件权限
更改文件权限
chmod [option] [权限模式] [filename/dirname]
三个数字代示用户自己,同群组用户,其他用户的权限,其中每个数字按照以下的计算: r – 4, w – 2, x – 1, = 0表示没有任何的权限, 7代表 + 4 + 2 + 1拥有所有的权限
通过 + / – 来赋予或者回收某个权限
-R表明更改其下所有目录跟文件的权限
9.文件相关指令 – 更改所有者
更改文件所有者
chown [group] [filename/dirname]
更改文件所有者群组
chgrp [group] [filename/dirname]
10.文件相关指令 – 查找文件
寻找文件
find [directory] -name [file]
11.文件相关指令 – 在文件中查找文符串
grep [option] [pattern] [file]
使用 -l 参数只显示文件名
重定向
在linux上有三种设备: stdin 标准输入设置,默认是键盘
stdout 标准输出设备,默认是屏幕
stderr 标准错误设备,默认是屏幕
将原本从标准设备输入输出的文件改变为从文件中输入/输出,称作重定向
示例:将当前目录中的文件清单输出到一个文件中
ls -l > as.log
使用重定向的目的是将一些命令组合起来完成更复杂的任务
重定向符号
> 表示以覆盖的方式将原本由stdou输出的资料重定向到文件中
>>表示以追加的方式将原来由stdout输出的资料重定向到文件中
<表示将文件的内容重定向到程序的stdin中
| 把一个程序的输出内容重定向到另外一个程序的stdin里
常用工具程序
tar 文件和目录打包/解压程序,通常用法如下:
tar cvfz mytar.tar.gz tiptop
tar xvfz tiptop
也许您还对以下的文章感兴趣
没有评论 ▼