最近刚刚入职,各种事情都要处理,对于新入职场的小白来说,确实各种的吃力,对于程序员这个职业,仁者见仁,智者见智。虽然刚进公司,工作上的事情还不清楚,但是可以肯定的是,对于Linux的学习和要求很高,也要相当的熟悉,自己在上学期间,虽然看过一些简单的命令,但对于工作来说还是有点捉襟见肘,因此,在接下来的时间,平台会不定期的更新Linux的基础知识,包括自己在工作学习到的技巧,以及一些基础的知识,同时也会转载相关好的文章。当然自己也知道做公众号不容易,但相信自己要做起来,不仅仅是督促自己学习,更重要的是让自己能够把知道的了解的都记录下来,也算是一种知识的共享。
今天,先从Linux的基础知识开始。以后为了方便记忆,采用思维导图的方式进行Linux的学习。Linux的版本信息,以及Ubuntu版本命名的方法
主要从下面几个内容进行解释:
1>. 命令解析器
2>. Linux快捷键
3>. Linux 系统目录结构
4>. 用户目录
5>. 文件和目录操作
6>. 文件和目录的属性
7>. 文件权限, 用户, 用户组
8>. 文件的查找和检索
9>. 软件的安装和卸载
10>. U盘的挂载和卸载
1. 命令解析器:
shell -- unix操作系统
bash -- Linux操作系统
本质: 根据命令的名字, 调用对应的可执行程序
2. Linux 快捷键
1>. 命令和路径补齐:
2>. 主键盘快捷键:
1). 历史命令切换:
历史命令:
向上遍历:
向下遍历:
2). 光标移动:
向左:
向右:
移动到头部:
移动到尾部:
3). 删除字符:
删除光标后边的字符:
删除光标前边的字符:
删除光标前的所有内容:
3. Linux系统目录结构:
1>. 根目录:
2>. /bin:
3>. /dev:
4>. /etc:
5>. /home:
6>. /lib:
7>. /media:
8>. /mnt:
9>. /root:
10>. /usr:
4. 用户目录:
1>. 绝对路径: 从根目录开始写 /home/itcast/aa
2>. 相对路径: bb 相对于当前的工作目录而言
. -> 当前目录
.. -> 当前的上一级目录
- -> 在临近的两个目录直接切换 cd -
3>. itcast@ubuntu:~$
itcast: 当前登录用户
@: at 在
ubuntu: 主机名
~: 用户的家目录(宿主目录)
$: 当前用户为普通用户
#: 超级用户 -- root
5. 文件和目录操作
1>. 查看我的资产(目录)
1). tree -- 必须安装该软件
2). ls -la
2>. 在情人和前妻之间徘徊:
cd 情人目录
cd
回家安抚老婆孩子: (三种回家方式)
cd /home/aaa
cd ~
cd
查看我当前是在老婆, 前妻, 还是情人的床上:
pwd
3>. 给情人买房子(创建目录)
一间小屋: mkdir dirName
一套别墅: mkdir dir/dir1/dir2 -p
4>. 趁前妻不在的时候卖掉前妻的一间房子: 删除空目录
5>. 给妻子买一个和田玉的手镯:
6>. 没收情人的所有财产:
别墅:
首饰:
7>. 给妻子置办一份财产, 跟情人的一模一样
8>. 妻子查看清单中的内容(5种方式):
9>. 妻子使用了黑科技, 不管在哪儿都能迅速来到我身边(快捷方式):
10>. 妻子将我的财产做了备份
6. 文件或目录属性: (理解内容, 非重点)
1>. wc
2>. od
3>. du
4>. df
7. 文件权限, 用户, 用户组
1>. 查看当前登录用户:
2>. 修改文件权限:
1). 文字设定法: chmod [who] [+|-|=] [mode]
who:
文件所有者: u
文件所属组: g
其他人: o
所有的人: a
+: 添加权限:
-: 减少权限
=: 覆盖原来的权限
mode:
r: 读
w: 写
x: 执行
2). 数字设定法:
- : 没有权限
r: 4
w: 2
x: 1
765
7 -- rwx -- 文件所有者
6 -- rw -- 文件所属组
5 -- rx -- 其他人
3>. 改变文件或目录的所有者或所属组:
4>. 改变文件或目录所属的组:
8. 查找和检索
1>. 按文件属性查找:
1). 文件名:find + 查找的目录 + -name + "文件的名字"
2). 文件大小: find + 查找目录 + -size + +10k
3). 文件类型: find + 查找目录 + -type + d/f/b/c/s/p/l
2>. 按文件内容查找:
grep -r "查找的内容" + 查找的路径
9. 软件的安装和卸载
1>. 在线安装:
2>. deb包安装:
3>. 源码安装:
案例: 安装 svn
a. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
b. make
c. sudo make install
10. U盘的挂载和卸载
历史命令向上滚动: ctrl+p
下: ctrl +n
删除光标后边的字符: 光标覆盖的字符 ctrl+d
前..: ctrl+h backspace
行首: ctrl+a
行尾: ctrl+e
tab: 自动补齐
根目录: /
ls aa
tree
ls -la
cd .
cd ..
cd /home/itcast
cd ~
cd
cd -
mkdir aa
mkdir aa/bb/cc -p
rmdir -- del kong
rm -r dir
touch a.txt
rm a.txt
cp a.txt b.txt
cp dir1 dir2 -r
cat
more
less
head
tail
上面简要说一下系统层面简单的命令和使用方式:
下面我们介绍一下Linux的目录结构:
以下是对这些目录的解释:
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:
这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:
这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:
该目录存放一些服务启动之后需要提取的数据。
/sys:
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。
/tmp:
这个目录是用来存放一些临时文件的。
/usr:
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/bin:
系统用户使用的应用程序。
/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
更多交流可以关注微信公众号:程序员职场