咱们通常会经过终端工具链接远程Linux服务器,咱们如今的远程Linux服务器在虚拟机上,因此咱们可使用终端工具在Windows上直接链接到虚拟机上的Linux服务器,而后实战操做该Linux服务器。html
首先链接虚拟机,而后配置网络,配置网络以前须要进入Linux系统里面。linux
链接windows和Linux,经过配置网络链接,如何查看网络是否链接了呢?web
咱们能够在终端测试,输入 ifconfigshell
在Linux中,咱们经常使用命令取操做,因此如今,咱们说一下常见的指令数据库
1
2
3
4
5
6
7
|
ls 查看当前目录下有什么文件和文件夹
cd 进入当前目录
mkdir 建立文件夹
touch 建立文件
|
经常使用指令apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
1su 进入root权限账户解决账户权限不够的问题
2cd 进入根目录
3ls 查看当前目录
4cd ../ 返回上一层目录 cd /直接返回根目录
5rm 删除文件或文件夹 rm -f 删除文件rm-rf 删除文件夹
6mkdir 建立文件夹 touch 建立文件
7 cp 复制文件cp / / / mv 移动文件 mv / / /
8 vim 打开txt文件编辑 cat 查看txt文件
9 find /name 文件检索
|
su 进入root权限vim
mkdir 新建一个文件windows
ls查看目录安全
rm删除文件bash
touch 建立一个文件 eg: touch a.txt
tar 解压缩
vim编辑文件里面的内容
cat查看文件
find主要用于查找名为何什么的文件
1.1 pwd命令
该命令的英文解释为print working directory(打印工做目录)。输入pwd命令,Linux会输出当前目录。
1.2 cd命令
cd命令用来改变所在目录。
cd / 转到根目录中
cd ~ 转到/home/user用户目录下
cd /usr 转到根目录下的usr目录中-------------绝对路径
cd test 转到当前目录下的test子目录中-------相对路径
1.3 ls命令
ls命令用来查看目录的内容。
选项 | 含义 |
-a | 列举目录中的所有文件,包括隐藏文件 |
-l | 列举目录中的细节,包括权限、全部者、组群、大小、建立日期、文件是不是连接等 |
-f | 列举的文件显示文件类型 |
-r | 逆向,从后向前地列举目录中内容 |
-R | 递归,该选项递归地列举当前目录下全部子目录内的内容 |
-s | 大小,按文件大小排序 |
-h | 以人类可读的方式显示文件的大小,如用K、M、G做单位 |
ls -l examples.doc | 列举文件examples.doc的全部信息 |
1.4 cat命令
cat命令能够用来合并文件,也能够用来在屏幕上显示整个文件的内容。
cat snow.txt 该命令显示文件snow.txt的内容,ctrl+D退出cat。
1.5 grep命令
grep命令的最大功能是在一堆文件中查找一个特定的字符串。
grep money test.txt
以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。
1.6 touch命令
touch命令用来建立新文件,他能够建立一个空白的文件,能够在其中添加文本和数据。
touch newfile 该命令建立一个名为newfile的空白文件。
1.7 cp命令
cp命令用来拷贝文件,要复制文件,输入命令:
cp <source filename> <target filename>
cp t.txt Document/t 该命令将把文件t.txt复制到Document目录下,并命名为t。
选项 | 含义 |
-i | 互动:若是文件将覆盖目标中的文件,他会提示确认 |
-r | 递归:这个选项会复制整个目录树、子目录以及其余 |
-v | 详细:显示文件的复制进度 |
1.8 mv命令
mv命令用来移动文件。
选项 | 说明 |
-i | 互动:若是选择的文件会覆盖目标中的文件,他会提示确认 |
-f | 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项 |
-v | 详细:显示文件的移动进度 |
mv t.txt Document 把文件t.txt 移动到目录Document中。
1.9 rm命令
rm命令用来删除文件。
选项 | 说明 |
-i | 互动:提示确认删除 |
-f | 强制:代替互动模式,不提示确认删除 |
-v | 详细:显示文件的删除进度 |
-r | 递归:将删除某个目录以及其中全部的文件和子目录 |
rm t.txt 该命令删除文件t.txt
1.10 rmdir命令
rmdir命令用来删除目录。
经常使用指令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下全部文件及目录,包括隐藏的a(all)
mkdir 建立目录
-p 建立目录,若无父目录,则建立p(parent)
cd 切换目录
touch 建立空文件
echo 建立带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,须要安装tree包
pwd 显示当前目录
ln 建立连接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
|
系统管理命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登录用户
whoami 显示当前操做用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络状况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit=
"ps -aux"
,另外解除使用unaliax showmeit
kill 杀死进程,能够先用ps 或 top命令查看进程的id,而后再用kill命令杀死进程。
|
打包压缩相关命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
gzip:
bzip2:
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
|
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
固然,若是想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就能够了。
关机重启机器
1
2
3
4
5
6
7
8
9
10
11
|
shutdown
-r 关机重启
-h 关机不重启
now 马上关机
halt 关机
reboot 重启
|
Linux管道
将一个命令的标准输出做为另外一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除之前一个命令的结果。
例:grep -r "close" /home/* | more 在home目录下全部文件中查找,包括close的文件,并分页输出。
Linux软件包管理
dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的状况下。
好比安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用以下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件
注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统可以链接互联网的状况。
依然以tree为例
1
2
3
4
5
6
7
|
sudo apt-
get
install tree 安装tree
sudo apt-
get
remove tree 卸载tree
sudo apt-
get
update 更新软件
sudo apt-
get
upgrade
|
将.rpm文件转为.deb文件
.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,因此须要转换一下。
sudo alien abc.rpm
vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
:q 退出
:q! 强制退出
:wq 保存并退出
:
set
number 显示行号
:
set
nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
|
用户及用户组管理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/etc/passwd 存储用户帐号
/etc/
group
存储组帐号
/etc/shadow 存储用户帐号的密码
/etc/gshadow 存储用户组帐号的密码
useradd 用户名
userdel 用户名
adduser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
su root
su - root
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile
|
更改文件的用户及用户组
sudo chown [-R] owner[:group] {File|Directory}
例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
要想切换此文件所属的用户及组。可使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
文件权限管理
三种基本权限
1
2
3
4
5
|
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
|
在Linux服务器上搭建web服务器,用ssh客户端登陆后使用 ./startservice.sh 脚本启动服务,可是当ssh断开链接后起的服务器也会停掉。这时就可使用下面命令运行服务,这样在ssh断开后服务也不会停。
1
|
nohup ./startservice.sh >>nohup.
out
2 > &1 &
|
上面代码的用途:不挂断地运行命令。
语法:nohup Command [Arg ... ] [&]
描述:nohup命令运行由Command 参数和任何相关的 Arg 参数指定的命令,忽略全部挂断(SIGHUP)信号。在注销后使用 nohup命令运行后台中的程序。要运行后台中的 nohup命令,添加 & (表示“and” 的符号)到命令的尾部。
因此上面命令中带 & 的命令行,即便 terminal(终端)关闭,或者电脑死机程序依然运行(前提是将程序提交给服务器)。
上面 2>&1 的意思就是把标准错误(2) 重定向到标准输出(1),而标准输出又导入文件 output里面,因此结果是标准错误和标准输出都导入文件output里面了。至于为何须要将标准错误重定向到标准输出的缘由,那就归结为标准错误没有缓冲区,而 stdout 有。这就会致使 >output 2>output 文件被output 被打开两次,而 stdout 和 stderr 将会竞争覆盖,这确定不是咱们相要的。
操做系统中有三个经常使用的流:
通常当咱们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。
ctrl+c和ctrl+z都是中断命令,可是他们的做用却不同.
ctrl+c是强制中断程序的执行,,进程已经终止。
ctrl+z的是将任务停止(暂停的意思),可是此任务并无结束,他仍然在进程中他只是维持挂起的状态,用户可使用fg/bg操做继续前台或后台的任务,fg命令从新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.
例如:当你vi一个文件是,若是须要用shell执行别的操做,可是你又不打算关闭vi,由于你得存盘推出,你能够简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操做以后,你能够用fg命令继续vi你的文件。
ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
注:在shell中,ctrl-d表示推出当前shell
今天看到Linux文件夹中的文件颜色,非常好奇,因此百度一下,知足了本身的好奇心。
共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、建立日期、文件名称。
ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息
ls 只列出文件名或目录名 就象windows里的 列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
ll不是命令,是ls -l的别名
ls 命令能够说是linux下最经常使用的命令之一。
-a 列出目录下的全部文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里同样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件同样显示,而不是显示其下的文件。
-e 输出时间的所有信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”做分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每一个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
|
1
2
3
4
5
6
7
8
|
sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,你
能够试试tcsh啊,csh啊,ksh,zsh什么的,看看别的shell是什么样子的。
固然,linux中sh是连接到bash上的,因此sh与bash在功能上是没有区别的。
还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部
分的时候,简单脚本只要权限设置正确,能够直接执行,不须要sh命令的
---------------------
|
普通文件(regular file):
就是通常存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大体能够分为:
一、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之因此称为纯文本文件,是由于内容能够直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来讲,使用命令“cat ~/.bashrc”就能够看到该文件的内容(cat是将文件内容读出来)。
二、二进制文件(binary):系统其实仅认识且能够执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来讲,命令cat就是一个二进制文件。
三、数据格式的文件(data):有些程序在运行过程当中,会读取某些特定格式的文件,那些特定格式的文件能够称为数据文件(data file)。举例来讲,Linux在用户登入时,都会将登陆数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能经过last命令读出来。但使用cat时,会读出乱码。由于它是属于一种特殊格式的文件。
目录文件(directory):
就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。
1,链接文件(link):相似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。
2,设备与设备文件(device):与系统外设及存储等相关的一些文件,一般都集中在 /dev目录。一般又分为两种:
3,块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。
4,字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。
5,套接字(sockets):这类文件一般用在网络数据链接。能够启动一个程序来监听客户端的要求,客户端就能够经过套接字来进行数据通讯。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。
6,管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所形成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。
/:根目录,全部的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/bin:bin 就是二进制(binary)英文缩写。在通常的系统当中,均可以在这个目录下找到linux经常使用的命令。系统所须要的那些命令位于此目录。
/boot:Linux的内核及引导系统程序所须要的文件目录,好比 vmlinuz initrd.img 文件都位于这个目录中。在通常状况下,GRUB或LILO系统引导管理器也位于这个目录。
/cdrom:这个目录在刚刚安装系统的时候是空的。能够将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom
/dev:dev 是设备(device)的英文缩写。这个目录对全部的用户都十分重要。由于在这个目录中包含了全部linux系统中使用的外部设备。可是这里并非放的外部设备的驱动程序。这一点和经常使用的windows,dos操做系统不同。它其实是一个访问这些外部设备的端口。能够很是方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各类配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。
/home:若是创建一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。
/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态链接共享库的。几乎全部的应用程序都会用到这个目录下的共享库。所以,千万不要轻易对这个目录进行什么操做,一旦发生问题,系统就不能工做了。
/lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程当中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有不少的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
/mnt:这个目录通常是用于存放挂载储存设备的挂载目录的,好比有cdrom等目录。能够参看/etc/fstab的定义。
/media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。
/opt:这里主要存放那些可选的程序。
/proc:能够在这个目录下获取系统信息。这些信息是在内存中,由系统本身产生的。
/root:Linux超级权限用户root的家目录。
/sbin:这个目录是用来存放系统管理员的系统管理程序。大可能是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是类似的,凡是目录sbin中包含的都是root权限才能执行的。
/selinux :对SElinux的一些配置文件目录,SElinux可让linux更加安全。
/srv 服务启动后,所需访问的数据目录,举个例子来讲,www服务启动读取的网页数据就能够放在/srv/www中
/tmp:临时文件目录,用来存放不一样程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录类似。
/usr这是linux系统中占用硬盘空间最大的目录。用户的不少应用程序和文件都存放在这个目录下。在这个目录下,能够找到那些不适合放在/bin或/etc目录下的额外的工具
/usr/local:这里主要存放那些手动安装的软件,即不是经过“新立得”或apt-get安装的软件。它和/usr目录具备相相似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。
/usr/share :系统共用的东西存放地,好比 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。
/var:这个目录的内容是常常变更的,看名字就知道,能够理解为vary的缩写,
/var下有/var/log 这是用来存放系统日志的目录。
/var/ www目录是定义Apache服务器站点存放目录;
/var/lib 用来存放一些库文件,好比MySQL的,以及MySQL数据库的的存放地。
一个start.sh文件,原本是灰色的(普通的文件),若是执行chmod +x 给了权限,文件颜色就变成绿色。
若是使用chmod -x 则就会变成灰色(普通的文本颜色),普通的文本颜色是不能执行的,执行会报错。
设置谁拥有执行这个文件权限。chmod +x 和chmod a+x 是同样的,通常没有明确要求,就可使用chmod +x。