02-Linux命令基础-第02天(压缩包管理、服务器搭建与使用、vim)

01-   复习

/boot 目录 引导项

八种文件类型:

文件:-

目录:d

软链接:l

字符设备文件:c

块设备文件:b

管道:p

套接字:s

未知

cp –a 保持源文件属性(如时间属性 如果不用-a会变成最新的)

02-   打包压缩

gzip bzip2

gzip file

gunzip file.gz

bzip2 file

bunzip2 file.bz2

只能压文件 不能压目录

tar命令 打包

tar czvf  xxx

tar xzvf  xxx

对于rar:

sudo apt-get install rar

sudo apt-get install unrar

aptitude软件可以通过show查看是否某个软件是否已经安装了

sudo apt-get install aptitude

rar a –r test.rar a.b.c.d

unrar x

zip:

zip –r mydir.zip mydir out

03-   进程和网络

who命令 显示 用户 终端和登录到系统的时间

 

tty是文字的终端

pts是图形的终端

 

a = show processes for all users 显示所有用户的进程

u = display the process's user/owner
x = also show processes not attached to a terminal

ps aux

如果grep出来有一条 说明没有 这个是grep进程

jobs: 显示当前的作业

作业: 多个进程的编组 这个组的名字叫作业

cat 然后ctrl+ z 会显示已停止

进程被挂起了

jobs 可以查看这个进程

这个东西是放到栈上的

挂起两个cat:

+号表示第二个进程被恢复的优先级要比第一个高

fg 恢复  ( fore ground)

与fg对应的是bg

前后台的定义:

前台:能与用户完成交互

后台:不能与用户完成交互

执行命令最后加一个 & 就是放到后台运行

给进程发信号杀死进程

kill –SIGKILL 19561

SIGKILL是宏定义9

所以也可以 kill -9 19561

env:

环境变量

echo $SHELL

SHELL是一个环境变量

$表示把环境变量的值取出

echo表示把值打印到屏幕上

echo $HOME 宿主目录

echo $PATH

当字节从shell输入可执行程序的时候会从PATH所指定的一系列目录 一个一个的去找 找同名的可执行程序

所以其实在windows下配path的时候 应写到加分号 最前面 而不是最后面

top命令 linux下文字版的任务管理器

显示某一条任务在linux系统下的情况

关于网络 在后面会详细的讲

ifconfig 临时设置 重启后就不生效了

临时更改ip地址

ping:

 

windows 的ping 发4个就停止了

linux 的ping 要加 –c 4 否则会一直发

netstat 查看网络状态

nslookup

finger

查看shell 目录什么的..(不常用)

01-   ftp服务器实名用户上传下载

ftp:

ftp服务器

sudo apt-get install vsftpd

sudo aptitude show vsftpd

配置文件

sudo vi/etc/vsftpd.conf

配置文件语法要求很严格

把该打开的都打开

sudo service vsftpd start

然后使用ftp命令

或者127.0.0.1( 网卡的默认本地回环ip 127.0.0.1)

或者127.1

登上去以后pwd

显示服务器当前在~目录下

然后get xxx.file

从/etc登录的 所以会get到/etc下 (如果没有权限限制

put 上传

01-   lftp和匿名ftp用户

tar czvf xxx.tar.gz a.out gcc.b asd.c

.tar.gz不加也行 但是加上方便自己

tar xzvf xxx.tart.gz

用ftp链接的前提是要知道服务器的用户名和密码

操作系统有一个默认的ftp位置

ftp 127.1

用户名 anonymouse 密码任意

pwd在’/’

然后ls

发现自己是在/srv/ftp下面

然后进行put命令  但是失败了,

重新开了一个终端查看/srv/ftp目录权限

发现所有者是root 所属组是ftp

第二个权限是r-x 没有写权限

所以不能进行put操作

不过之前改过/srcv/ftp/incoming目录的权限了

所以其实可以在incoming目录进行写操作

在incoming目录下进行操作:

总结一下匿名用户ftp:

anonymous

一般情况只能上传下载文件

如果想上传下载目录需要使用lftp

 

好处是mirror 可以上传下载目录

 

而且lftp显示中文不会乱码

默认lftp是匿名用户登录

如果想实名用户需要login

01-   改变ftp本地目录位置

查看本地的用!ls

lcd改变本地机的工作目录位置

07-   nfs_ssh_scp

scp : super copy

(实际scp不算是一种服务器 确切的说就是一个命令)

super copy

加-r 就能拷贝木露露了

示例:

scp –r itcast@192.168.36.64:/home/itcast/dir ./zhangsan/

超级拷贝

 

nfs:

流程就是这样了

   对比语法:

01-   其他命令

man man

一共9章

要求务必掌握前三卷

man printf  // 显示的不对

man 3 printf // 找的是函数

ll:

输入alias查看别名

ls的颜色

关于-F:

增加别名:(只在当前终端临时生效,写到配置文件才能永久生效)

echo $PATH

echo $?  查看程序上次退出的值 (比如一段程序return 0 或者return 87)

cd ~

mkdir test

cd test

mkdir dir

touch file

ls –l

发现目录比文件多执行权限

原因是如果目录没有执行权限 就不能进入了

改成跟文件一样的权限…

进不去了

实际上操作系统里有一个叫umask的东西控制着创建出的文件的权限

umask叫文件操作掩码

 

第一个0表示八进制 后面三位对应着 文件所有者 同组用户 其他人

对于一个文件权限满了是 777

umask是002

所以实际创建的权限是775

设置umask 0511 这时候创建出来的文件就会是266

即:-w- rw- rw-

(查看文件夹权限)

(查看文件权限)

设置umask 0522 这时候权限应该是255

 

发现目录的权限是对的

但是file2文件的执行权限又去掉了

这是ubuntu的优化 操作系统不认为新touch的文件具有执行权限

文件如果想执行 需要是可执行程序

gcc….脚本编程.sh… 默认都没有执行权限

所以得chmod a+x .sh 给它后期赋予执行权限

chmod复习:

umask –S

直接查看创建的文件的权限

umask 改完直接把终端关上 再打开就失效了。

ctrl+alt+t  打开多哥终端

ctrl+shif+t 在一个终端里开多个窗口

alt+1 alt+2 alt+3

ctrl+d 关掉终端

poweroff可以通过ssh给关机…

shutdown 参数更多一些

uname –a 查看内核的版本

01-   vim基本操作

i在本字符的左边

a 在本字符的右边

o  下一行行首

I 本行行首

A 本行行末

O  上一行行首

s 删除一个字符

S 删除一行

挪动光标

hjkl

G 移动到最后一行

gg 移动到第一行

gg = G 格式化代码 (自己试ubuntu16.04下不行 要先apt-get install vim..可能是indent格式化包不完整)

80G 到第80行

20G 到第20行

两个括号(大括号、中括号、小括号)对应位置之间移动 %

dd 删除一行

4dd 删除四行

u 撤销

光标往后的内容删掉 D (或者d$

d0 向前删除

0 移动到行首

$ 移动到行尾

选中某段字符删除:

按v进入可视模式

然后hjkl来移动光标选中你想删除的内容

然后d

其实d就是剪切 没有单纯的删除 剪切到缓存池里

粘贴是p

p 往光标所在的后面粘

复制 yy

复制三行 3yy

P 往光标所在字符前粘贴

u 撤销

ctrl+ r 重做

查找:

在命令模式下按/ (注意这不是末行命令 只有你按了: 才是末行命令)

然后 n 查找下个

比如int tmp变量了

想查找一下tmp在哪里被用到了

把光标移到tmp上 然后按*号

替换:

将一行进行替换

光标移动到要替换的单词上

然后进入末行模式

:s /printf/println

通篇全部进行替换:

:%s /printf/println/g

:%s /printf/printfln 替换每行的第一个要替换的字符串

将24到28行的println替换成printf

:24,28s /println/printf/g

原文地址:https://www.cnblogs.com/eret9616/p/10775746.html