Linux 结构
这图主要好在,把很多缩写给了全称,这个非常好,以后希望大家介绍一些基本目录,缩写也要给上全称,不好读音的还要给上发音
Linux中万物皆文件.其中有一些比较重要的目录先说,其他以后可以慢慢了解
home 目录: 用户的根目录(家)
- 普通用户的文件都在home/下 e.g: 用户jin 存在,就会有home/jin/ 目录
root 目录:sa(超级管理员)的家
etc目录:这里存放很多开发软件的配置文件,常用常改.
usr目录:这里一般存放所有用户都能访问的文件. (注意:usr不是user的缩写,是unix shared resources)
以上就是Linux中程序开发最必须的四个目录,先掌握(其它慢慢学,Less is more).
Linux常用命令
命令很多,跟目录一样,先记最常用重要的.比如切换目录change directory(cd).看帮助文档(man命令)
1.cd,pwd命令
- cd / 代表:根目录
- cd .. 代表:回到上一层目录
- cd ~ 代表: 回home
- pwd显示当前所在目录 —-直接回车即可
2.touch,mkdir,cp,mv,rm,rmdir命令
创建/删除文件夹,创建/删除文件都是很常用的操作
- touch fileName :创建一个空白文件
- cp test.c x/test.c: 复制文件到当前或者其他文件夹
- mv test.c y/test.c: 剪切移动文件
- rm
- rm -rf :递归强制删除某个目录 ( -f –>force -r )
- mkdir -p x/y/z : 一次创建三层目录 #-p代表parent
- rmdir 目录名 :删除一个空目录(非空不能直接删,同样它也有-p 删除多层,但是不常用)
3.ls跟ll命令
- ls命令
- ls : 展示可见的文件&目录名
- ls -a : 展示所有文件的名称(保留隐藏文件) # “.x” 代表隐藏文件 (重要)
- ls -l : 详细模式展示所有文件(权限,大小,时间,日期等) –>可以改为 ls -lh: 把大小转为友好格式
- ll命令就是ls -l的等价简写法.一般用ll代替之.
- 比如上面ls -lh 就可以简写为 ll -h
4.cat,more,less,tail命令
这四个都是浏览文件的命令,四个命令各有千秋.最重要的是tail命令.
cat : 一次显示文件所有内容 e.g. cat text.c
more :分页显示
less : 分页显示–可以通过pageDown,pageUp上下翻页
tail : 英译字面为尾部的意思,这个命令查就是看文件尾部内容,log文件很多时候报错异常信息都在末尾,前面都是无用的信息.
1
2tail -10 text.c # 用于查看text.c文件后10行,10可以改为任意行数
tail -f text.c # 动态查看文件,比如日志文件经常是不断变化的 (非常常用) ctrl+c 停止
5.tar命令
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,默认不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件(xx.tar格式),再以gzip压缩命令压缩成xx.tar.gz(或称为xx.tgz)的文件。 #Linux中后缀格式只是区分,不是windows那样有真正影响
:six_pointed_star: 这个命令经常用.要多操作几次
参数列表:
- -c:创建一个新tar文件
- -v:显示运行过程
- -f:指定文件名
- -x:调用gzip压缩命令压缩
- -t:查看压缩文件内容
- -x:解压tar文件
常用参数组合:
- -cvf : 打包一个文件或目录
- -zcvf : 打包并压缩(压缩格式是gzip)
- -xvf : 解压或者打开tar文件 (-x是解压tar文件)
格式:
tar 参数 文件名 要打包的/解压的文件目录
6.grep,wget,find命令
- grep命令是用于在内容中查找信息(字符串),也比较常用
比如在一个conf文件中,先cat打开了,然后想跟windows一样ctrl+f查找某个字符串就用
1 | grep string fileName --color #带高亮的查找,color有时可以省略 |
- wget命令是下载资料用的.不太常用.
1 | 例子 |
- find命令功能非常强大,一般用于找某个文件,就相当于win中的搜索.
1 | 常见用法e.g |
7.系统管理常用命令
date 显示或设置系统时间
- date -s “2017-02-14 11:11:11“ 设置系统时间
df 显示磁盘信息
- df –h 友好显示大小
free 显示内存状态
- -free –m 以mb单位显示内存组昂头
top 显示,管理执行中的程序(类似windows中的任务管理器)
clear (推荐使用ctrl+L)清屏幕
ps 正在运行的某个进程的状态
- ps –ef 查看所有进程
- ps –ef| grep ssh 查找某一进程
kill 杀掉某一进程
- kill 2868 杀掉2868编号的进程
- kill -9 2868 强制杀死进程
du 显示目录或文件的大小。
- du –h 显示当前目录的大小
who 显示目前登入系统的用户信息。
hostname 查看当前主机名
1
修改:vi/etc/sysconfig/network
uname -a 显示本机详细信息。
1
依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称
1
### 8.网络管理命令
最常见的的ifconfig 有点类似windows下的ipconfig —>if是interface的缩写
ifconfig 显示或设置网络设备。
1.1 ifconfig eth0 up 启用eth0网卡
ifconfig eth0 down 停用eth0网卡
ping ipAddress 探测网络是否通畅。
netstat 查看网络端口。
1
2
3
4
5netstat -an | grep 22 #查询22端口占用情况
#结果如下
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 52 10.104.145.59:22 59.68.29.115:50116 ESTABLISHED
tcp6 0 0 :::22 :::* LISTEN
9.用户相关命令
useradd 添加一个用户
useradd test 添加test用户
useradd test -d /home/t1 指定用户home目录
passwd test 为test用户设置密码
切换登录:
1 | ssh -l test -p 22 192.168.19.128 #不推荐这种方式 |
- 删除账户,查看uid,gid(group id)
1 | userdel #删除一个用户 |
- su命令
1 | - 功能:切换用户---su – 用户名 |
5.组管理(了解)
1 | - 类比很多组的概念,是相似的,添加普通用户的时候,有默认建立一个同名的私有组 |
6.用户信息查看(了解)
1 | linux中万物皆文件,所以账号密码以及相关信息,实际也是以文件形式储存的.包括组等信息. |
10.权限相关命令(理解)
玩linux的时候,经常会有很蛋疼的事,各种命令报权限错误,permission denied 之类的.然后sudo 或者切换到root却不知道原理.常见有集中
- 修改文件权限
- 修改文件归属
linux下分三种文件类型:
- 普通文件: 文本,数据,可执行的二进制文件等
- 目录文件: linux中的目录(文件夹)也是一种文件,利用它构成树形文件系统
- 设备文件: 内外接入linux的设备也视为一种文件
linux下文件类型标识
使用ll命令之后第一列出现的例如.d代表目录,-代表普通文件,l代表符号链接
1
2
3
4
5
6ll -h #drwx
e.g如下,除开第一是文件类型标识.后面一共九个字符,三个为一组.
第一组当前用户权限,第二组代表group权限,第三组是其他用户权限
total 8.0K
drwx------ 2 tom tom 4.0K Feb 12 22:27 jin
drwx------ 2 1001 1001 4.0K Feb 12 22:30 tom文件权限命令chmod
权限有对应的数字简化字母分配.
当前用户 当前用户 当前用户 组 组 组 其他用户 其他用户 其他用户 r w x r w x r w x 4 2 1 4 2 1 4 2 1 1
2
3
4
5
6
7
8
9
10chmod #变更文件或目录的权限。
e.g.
chmod 755 a.txt #755 7代表全部权限
chmod u=rwx,g=rx,o=rx a.txt #原生写法,不推荐
chmod 000 a.txt / chmod 777 a.txt
chown #变更文件或目录改文件所属用户和组(不常用)
e.g.
chown u1:public a.txt #变更当前的目录或文件的所属用户和组
chown -R u1:public dir #变更目录中的所有的子目录及文件的所属用户和组
vi与vim编辑器
程序员世界一般公认的编辑器派系之争,号称神的编辑器emacs和编辑器之神vim 今天接触其中一个
注 : vim是vi的加强版.并不是等同的,普通命令下看不出差别罢了,vim是自带高亮的.
1.vim编辑器
vi有三种编辑模式: 命令行,插入,底行模式(命令下输”:”进入) ————(快捷键极多,初学不必在意,先记最常用的)
- dd –快速删除当前行
- yy –快速复制当前行到下一行
- R –替换
未完待续,初接触linux不需要花太多时间vi上,熟悉之后自然水到渠成
2.重定向,管道与&&命令控制
- 重定向(>)
‘>’重定向输出,覆盖原有内容;
‘>>’ 重定向输出,又追加功能;
1 | cat /etc/passwd > a.txt #将输出定向到a.txt中 |
管道:
管道(|)
管道在linux中其实是一个挺重要的概念,作用是将一个命令的输出用作另一个命令的输入.什么意思呢?
e.g. (ps -e 是显示所有进程 -f是full完全格式输出)
1
2
3
4
5
6
7
8
9
10
11要在ifconfig 的结果里面查找127.0字符串
ifconfig | grep 127.0 #输出结果是inet 127.0.0.1 netmask 255.0.0.0
要在进程里面查找ssh相关的
ps -ef | grep ssh #输出结果如下:
root 699 1 0 Feb08 ? 00:00:00 /usr/sbin/sshd -D
root 5447 699 0 Feb10 ? 00:00:00 sshd: root@pts/0
root 20067 5449 0 11:35 pts/0 00:00:00 grep --color=auto ssh
想要查看httpd进程是否存在
ps -ef | grep httpd #同理,看java进程就grep java,注意查找本身就是一个进程,不要混淆
3.命令控制(&&)
简单来说,就是一次执行多个命令,比如创建文件夹之后创建一个文件然后查看.
1 | mkdir test && cd test #结果是两个都执行完毕 |
补充
- 待续

