Net程序员学习Linux
本次知识点:Linux系统的多终端切换,linux下的用户,linux远程访问工具使用,linux下重要的目录,命令的组成,通配符,linux的路径问题,文件操作的综合运用
为什么学习linux?
1.很多人都说.net程序员只会在Windows的环境下进行工作,压根就不懂Linux的使用,也不懂Linux的命令,只会用鼠标,只会在图形界面下工作.其实刚开始听,心里挺不爽的,作为一个.net程序员,我所熟悉的当然是在windows下工作,因为我们压根不需要在linux环境使用编码工具,而且很多php和java的程序,他们也仅仅是会一点点命令,就来鄙视我们,说不懂linux,当时我心里是挺不爽的,你们接触得过,懂是当然的,不懂才怪,为了不被鄙视,我也要接触linux,更要比他们更加熟悉。
2.Linux时代的到来,随着微软开源.net,势必会把.net迁移到多个平台上,linux因为其免费开源的特征,很多公司未来将会把服务器的操作系统搭建为linux,并且会把.net平台迁移到该平台上,所以.net程序员学习linux是势在必行了,为了不被时代抛弃,那么自己就必须进步,把linux当作工作的一部分,那么自己学习起来就不费劲了.
开始学习linux
准备linux系统,我安装了VMware的虚拟机软件,傻瓜式的安装了CentOS6.7的操作系统,关于选择Linux系统版本的问题,我主要是看当前公司搭建服务器选择的linux版本,以及学习的成本来着想,最终选择了CentOS.
Linux系统的多终端与切换
所谓多终端,按我的理解,就是多个用户,不同用户有不同的环境,大家相互不影响.因为我安装的CentOS6.7,所以一进去就是图形界面.
CentOS共有6个终端,图形界面这里也是其中一个终端,对应为键盘中的F1,另外5个对应这F2~F6,都是控制台终端
注意:如果从图形界面进入控制台终端,快捷键为:Ctrl+Alt+(F1~F2),如果从控制台进入其余终端,只需要按Alt+F1~F6,(我不知道是不是安装这个虚拟机的问题,才需要按Ctrl)
Linux终端的帐号密码
我不知道我这样理解准不准确,反正超级管理员都是root,密码就是安装时填上的密码,当然linux还有其他的用户,
Linux如何使用命令(小白专用)
对于一名小白来说...可能安装Linux后,进入了图形界面 ,在哪里敲命令都不知道....(我曾经就是...)我选择了快捷键Alt+F2进入终端,然后输入帐号密码进入了系统,
使用工具远程连接Linux系统
使用secureCRT,可以在Window下远程连接Linux.下载下来之后,通过授权后(请使用正版=_=!),进入到界面中
在菜单栏-->File-->Quick Connet-->选择SSH2,填写Hostname(地址,不知道虚拟机IP的,在 linux下命令行ifconfig),UserName:root,--->点击Connect--->输入密码就可以了
最后出现界面
这里就相当于终端的控制台了,如果觉得白底不好看,不像linux下的,那么可以点解session找到对应要连接的linux终端,右键properties,进入选项,在Terminal-->Emnulation -->下拉框选择Linux主题就变成linux的了,
把字体变大:Ctrl+鼠标滚轮
选择Send Protocol NO-OP 防止连接服务器的终端被清掉.
使用了远程管理工具后,就和在linux使用终端的命令行是一样的,所以之后都是直接用这个远程管理工具sucureCRT.
Linux重要目录
ls命令后,显示为蓝色的则为目录,显示为白色的为文件,绿色代表可执行文件,浅蓝色的代表符号链接
有很多重要的目录:
bin:有一堆命令
etc:里面存放的是一些重要的配置文件,linux一些配置的,什么网络环境都在这里存放
proc:虚拟目录,系统运行过程中产生的一些文件,通过里面的内容了解系统内部情况,相当于系统开了一个窗口让你去看系统内一些内部信息
sbin:也是存放命令的,只是它是保存一些比较底层接近物理操作的命令,例如什么关机开机,修改系统时间等等,涉及到一些物理硬件的操作,但是需要的权限较高,
home:主工作目录, 相当于登录者的一个基地,每个用户都有自己的主工作目录,如果是root用户,则是在/根目录下的root文件中
命令的组成
每个命令行的显示的组成:,如果是普通用户是$,root则是# 如果是在[图中标的当前所处目录]显示为~,则表示进入到当前主工作目录
查看命令使用手册
使用man commond 就可以调出命令的手册,按F可以下一页,按B可以上一页,按Q可以退出命令手册
linux基本命令(以后每节都会持续更新)
adduser username 添加新的用户
passwd username 修改用户密码
su username 使用username用户登录终端
date 当期系统的日期
hwclock 硬盘的时钟
clear 清除屏幕上的信息
cal 日历
who 当前谁在线
uname 当前系统的信息
top 查看那当前启动的任务,系统动态的信息,可以监控系统的负荷
shutdown now 马上关机,如果没有now则是等待所有用户logout才能被关掉
logout 退出当前的用户,但是不关机
pwd查看当前所在目录
----------以下命令对文件的操作----
echo content > directory/filename 表示如果打开fliename则输出content, ">"代表输出重定向,如果没有则直接在屏幕中输出content
touch filename 创建一个0字节的文件,如果touch一个已经存在的文件,那么就会改变这个文件最后的打开时间戳
chown newuser /directory/filename 更改文件的拥有者,就是ls -l看到的那个拥有者, 第三个参数需要带上路径
chgrp newuser /directory/filename 更改拥有者组
ls list列出当前打开目录的文件或者子目录
cat catalog 打开文件或者打开目录
rm remove 删除文件或者文件目录
mv move 移动目录或者改文件名
cp copy 复制文件
mkdir make directory 创建目录
cd change directory 改变当前目录
rmdir remove directory 删除目录
使用ls -l 列出详细目录或者以及其详细信息
使用通配符
*:代表在其所在位置上有0或以上任意个字符
?:代表在其位置上仅有一个任意字符
[]:在其位置上,有[]中任意的字符集 ,如果是连续的可以写成[1-9][a-z][a-zA-Z]
纯字母:例如,写成a?那么在第一个必须匹配a
Linux下的文件目录与路径
所有文件都是从根目录/开始.
路径的表示有:相对路径 和 绝对路径 例子:相对路径:我要访问K---->cd /a/e/k 绝对路径:我当前处于g 但我要访问h ----> cd ../../d/h
作为一个程序员,大家也知道什么是绝对路径和相对路径的了,
文件操作的综合运用
先默认一下命名防止混乱: text表示内容,file开头的表示文件,directory开头的表示目录
创建一个文件: [root@localhost ~]# echo text > /root/filea --->表示在root目录下,创建一个filea文件,如果打开该文件,则会输出text
打开一个文件:[root@localhost ~]# cat filea-->因为现在已经处于root目录下,所以直接使用cat打开文件filea
返回主工作目录:直接输入cd 即可
更改文件名字: [root@localhost ~]# mv filea fileb --->使用mv改名 mv 动作 第一个参数:原文件名,可以带路径的 第二个参数,需要改的名字
复制一个文件:[root@localhost ~]# cp fileb filec ---->适用cp进行文件复制, cp动作 第一个参数:原文件的名字,可以带路径的 第二个参数,把原文件复制成 目录下的某个文件名
创建一个目录:[root@localhost ~]# mkdir directory1 ---->创建文件目录mkdir 直接在当前目录创建一个名为directory1的文件夹,如果要在其他路径创建那么就带上路径
移到一个文件到目录中:[root@localhost ~]# mv fileb directory1 ----->mv就是移动文件 , 如果第二参数参数是一个目录,那么就是移动到该目录下,如果不是目录,则是改名了
如果一个目录中不存在文件夹,如何创建:[root@localhost ~]# mkdir -p directory2/directory3 ----->directory2如果这个目录不存在,普通mkdir不带参数的,是不能创建的,如果带参数-p就可以创建了
删除文件:[root@localhost directory3]# rm file333 --->会提示 rm: remove regular file `file333'? 如果删除则填入Y ,不删除则N
修改文件rwx的权限:[root@localhost ~]# chmod a+x filec ---->使用chmod 命令 a+x 则是user,group,othor的权限都修改 a的含义就all x就是对应的可执行的权限,也可以是r或者w
[root@localhost ~]# chmod a-x filec ---->就是删除x的权限
[root@localhost ~]# chmod u+x filec ---->a换成了u就是针对user的权限了,分别对应首字母
硬链接,就是把一个子文件共享给另外的目录上: [root@localhost ~]# ln directory1/fileabc dirctory3 ---->把directory1中的fileabc文件链接给directory3,所以在3也能打开fileabc,相当于程序中高类聚,修改了fileabc,同时两个目录下读到的都是修改后的内容,相当于多个老爸,虽然修改的了之后,两个老爸都能共享到,但是其中一个老爸被删除了,但是另外一个老爸还是可以读到文件的信息,如果要删除的话,就只能两边都删除
创建一个链接指向别的目录或者文件:[root@localhost directory1]# ln -s ../directory2/directory3 link ----->ln -s 指向另外一个目录或者文件,实现快速打开,只需要ls link 就测试link是否指向了不同的目录
只是上了一些课程,对操作的总结,linux作为一个操作系统当然是博大精深拉,以后的路还长着,但是对于文件的管理已经有了一个基本的认识了.