linux基础了解的学习记录

1、文件结构图

linux的储存结构为文件树

2、绝对路径、相对路径、权限

一、绝对路径:

/usr/local/include       在路径的最前面是 / 开头的html

使用环境:当在当前路径下想到其余路径显得文件,需使用绝对路径。python

二、相对路径:

local/include             在路径的最前面没有 / 开头的linux

使用环境:当在当前路径下想进入当前路径下的文件时,可以使用相对路径。正则表达式

三、权限:

文件有执行的权限shell

drwx rw- rw-        d表示是文件而不是文件夹(文件夹d的位置是-),r表示有读的权限,w表示有写的权限,x表示有执行的权限(-表示没有给位置的权限)ubuntu

3、linux命令、通配符(相似正则表达式)

linux命令:

touch hello.txt       建立一个空的文件vim

mkdir /home/python/djcode      建立一个空的文件夹路径windows

tab键            自动补全,当输入的命令太长时,输入几个字符就能够按tab键系统自动补全其余字符centos

更多经常使用见:http://www.cnblogs.com/Guido-admirers/p/6210267.html安全

经常使用文本编辑器VIM:http://www.cnblogs.com/Guido-admirers/p/6201370.html

通配符(ls过滤):

*          表示匹配一个或多个字符

?          表示匹配一个字符

[abc]     表示匹配[]内的任意一个字符内容

[a-c]     表示匹配[]内的任意一个字符内容

 \          转义符,后面的内容没有通配符含义

重定向:

>  从新定向输出的位置,有文件就清空原文件,没有文件就建立新的文件,把内容输出到指定的文件

>> 从新定向输出的位置,追加文件内容,其余同上

cat:

输出文件全部内容到屏幕,直接显示到结尾(适合小文件的查看)

cat 123.py 345.py > 101.py(合并123和345重定向到101文件)

more:

输出文件全部内容到屏幕,从开头开始显示,分屏显示(适合大文件的查看)

管道(|):

前方的命令的输出做为后面的命令的输入

cd ~:

进入当前用户的家目录

cd -:

快速回到上一次的工做路径

rm:

rm 删除文件 

rmdir   删除文件夹,可是不能删除空的文件夹

rm -r    递归的删除目录下的全部内容

rm -f    强制删除,忽略不存在的文件,无需提示

rm -i    以进行交互式方式执行

ln:

建立软连接

ln -s 源文件 连接文件

源文件被删后,经过软链接没法找到文件内容

建立硬连接

ln 源文件 连接文件

至关于给原文件增长文件名,经过rm删除的时候系统会检测该文件有几个文件名,而后删除其中的一个文件名,而非删除文件内容。

grep:

' ' 号内的内容为正则表达式,在文件中按内容查找

grep -n 'a' 111.py(在111文件内寻找'a', -n显示搜索获得行号)

grep -n '^a' 111.py(在111文件内寻找'a'开头的一行)

grep -n 'a$' 111.py(在111文件内寻找'a'结尾的的一行)

grep -n '[Hh]ello' 111.py(在111文件内寻找'hello'或'Hello')

find:

查找文件(文件名可用正则表达式进行匹配)

find ./ -name text.sh(./表示在当前路径下查找)

find /home/ -name '*.sh'(在home路径下找.sh为结尾的文件名)

find /home/ -size +2M(在home路径下找文件大小大于2M的文件,-2M为小于)

find /home -size +3K -size -5M(查找home下文件大小在3K到5M之间的文件)

find /home -perm 0777(查找当前目录下权限为777的文件或目录)

cp:

拷贝(tree显示文件树)

cp 123.py /home/name/pycode -arf(拷贝123到pycode文件夹,'a'所有内容包括连接文件属性等等,'r'递归的执行下面的全部文件,'f'不进行提醒确认。)

mv:

剪切、移动文件、重命名

tar:

归档管理

1|  -c    生成档案文件,建立打包文件
2|  -v    列出归档解档的详细过程,显示进度
3|  -f     指定归档文件名称,f后面必定是.tar文件,因此必须放选项最后
4|  -t     列出档案中包含的文件
5|  -x     解开档案文件

除了f 要放在最后其余无顺序。

打包命令:tar -cvf text.tar t1.py t2.py t3.py(选项加z,表示打包压缩)

解包命令:tar -xvf text.tar -C /home/name/pycode(-C指定解压文件路径,选项加z,表示解压解包)

gzip:

压缩打包文件:gzip -r text.tar text.tar.gz或者gzip text.tar

解压压缩文件:gzip -d text.tar.gz

bzip2:

文件格式为text.tar.bz2

用法同前,区别zxvf—>jxvf, zcvf—>jcvf

zip与unzip:

跨平台的文件格式

压缩文件:zip myzip 目标文件(没有扩展名)源文件

解压文件:unzip -d text myzip.zip (解压后目录文件 压缩文件)

which:

查看命令位置

经常使用的的系统管理命令:

cal:

查看系统当前的日历

date:

显示当前时间

修改时间:date 010203042016.55      (date [MMDDhhmm[[CC]YY][.ss]]+ format)

显示格式:date "+%y,%m,%d,%H,%M,%S"

ps:

查看进程信息

ps -aux

1|  -a    显示终端上的全部进程
2|  -u    显示进程的详细状态
3|  -x    显示没有控制终端的进程
4|  -w   显示加宽,以便显示更多信息
5|  -r    只显示正在运行的进程

reboot\shutdown:

重启、关机

kill -9:

杀死进程

ctrl+shift+t再开一个终端

top:

显示当前资源利用率的动态显示,在top命令执行后,能够按下案件获得对显示的结果进行排序:

M    根据内存使用量来排序
P    根据cpu占有率来排序
T    根据进程运行时间的长短来排序
U    能够根据后面输入的用户名来筛选进程
K    能够根据后面输入的PID来杀死进程
q    退出
h    得到帮助

df:

检测磁盘空间

df -lh

du:

检测当前目录所占磁盘空间

1|  -a    递归显示指定目录中各文件和子目录中文件占用的数据块
2|  -s    显示指定文件或目录占用的数据块
3|  -b    以字节为单位显示磁盘占用状况
4|  -l     计算全部文件大小,对硬连接文件计算屡次

ifconfig:

查看网卡信息

ping:

测试远程主机连通性

用户和权限相关的命令:

who:

查看当前全部登录系统的用户信息。

ctrl+alt+F2(F2—F6)转变黑屏显示,F1为图形界面(centos7)

who -q (显示有几个用户登陆)

whoami (查看当前登陆用户)

ssh:

远程登录电脑命令,ping通以后可执行下方命令

ssh 用户名@IP地址

(windows使用xshell来进行远程链接)

useradd:

添加用户

useradd guido -m  (自动建立用户的家目录)

useradd guido -d /home/name  (指定用户家目录)

passwd guido  (修改该用户的密码)

su guido  (切换用户)

userdel guido:

删除用户

再切换多用户后,想删除用户,须要关闭用户,才能够删除。每次su一次,是保留原用户登陆登录其余用户,exit会返回上一次的用户登陆关闭本次登录。

用户切换登陆、删除权限示意图:

用户组管理:

查看有哪些用户组

一、cat /etc/group    (cat /etc/passwd  查看用户)

二、groupmod +三次tab键  (ubuntu中有效,centos中无效,其余未验证)

添加、删除组

groupadd (添加)

groupdel(删除)

查看用户在那些用户组

groups 用户名

修改用户所在组

usermod -g 用户组 用户名   (修改用户默认组)

usermod -a -G 用户组 用户名  (添加用户名到用户组)

为建立的普通用户添加sudo权限

usermod -a -G adm
usermod -a -G sudo

文件的权限修改:

chmod

字母法:

chmod u+x d.py(添加权限)

chmod o-r d.py(删除权限)

chmod g=w d.py (赋予权限)

chmod a=x d.py  (a表明所有)

数字法:

r          4

w         2

x         1

chmod u=1,g=2,o=4 d.py

chmod u=7 d.py

chmod 761   (拥有者、同组成员、其余)

修改文件的全部者

chown 用户名 文件或目录名

修改文件所属组

chgrp 用户组名 文件或目录名

 

linux经常使用服务器构建-ftp服务器

 

FTP是File Transfer Protocol (文件传输协议)的英文简称,而中文简称为“文传协议”。

用于Internet上的控制文件的双向传输。

同时,它也是一个应用程序(Application)。基于不一样的操做系统有不一样的FTP应用程序,而全部这些应用程序都遵照同一种协议以传输文件。

在FTP的使用当中,用户常常遇到两个概念:“下载”(Download)和“上传”(Upload)。

“下载”文件就是从远程主机拷贝文件至本身的计算机上;

“上传”文件就是将文件从本身的计算机中拷贝至远程主机上。用Internet语言来讲,用户可经过客户机程序向(从)远程主机上传(下载)文件。

FTP服务器的下载安装与配置

下载安装
sudo yum install vsftpd

配置vsftpd.conf文件
sudo vim /etc/vsftpd.conf                      #打开vsftpd.conf

修改内容
anonymous_enable=No                        #不容许匿名用户登陆
local_root=/home/python/ftp                #指定ftp上传下载目录
local_enable=YES                                  #容许本机登录
chroot_list_enable=YES                         
chroot_list_file=/etc/vsftpd.chroot_list   #容许该文件中的用户名进行登陆FTP服务器
write_enable=YES                                  #容许上传文件到FTP服务器

创建如下文件,并将一个用户名放到此文件中
sudo vim /etc/vsftpd.chroot_list

将此ftp文件夹的拥有者的权限减去w,即文件夹的拥有者不能有写的权限
在文件夹中创建一个文件夹share,此文件夹就是使用ftp客户端进行下载、上传时的文件夹

重启FTP服务器,由于已经修改过/etc/vsftpd.conf,因此只有重启,才能使ftp服务器按照配置进行工做
sudo /etc/init.d/vsftpd restart

测试上传功能,登陆ftp服务器
ftp IP
上传put
下载get

 

linux经常使用服务器构建-ssh和scp

1.ssh

介绍:

SSH为Secure Shell的缩写,由IETF的网络工做小组(Network Working Group)所制定;SSH为创建在应用层和传输层基础上的安全协议。

SSH是目前较可靠,专为远程登陆会话和其余网络服务提供安全性的协议。经常使用于远程登陆,以及用户之间进行资料拷贝。

利用SSH协议能够有效防止远程管理过程当中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其余操做平台。SSH在正确使用时能够弥补网络中的漏洞。SSH客户端适用于多种平台。

使用SSH服务,须要安装相应的服务器和客户端。客户端和服务器的关系:若是,A机器想B机器远程控制,那么,A机器须要安装SSH服务器,B机器须要安装SSH客户端。

安装:

sudo yum install openssh-server(安装)

ssh 用户名@IP (登陆)

二、scp

远程拷贝文件,scp -r的经常使用方法:

使用格式:

下载

scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径  /保存到本机的绝对或相对路径

scp 192.168.1.1:/home/python/b.txt ./    (保存文件到当前目录下)

上传

scp -r /保存在本机的绝对或相对路径   目标用户名@目标主机IP地址:/目标文件的绝对路径

scp a.txt 192.168.1.1:/home/python/   (把本地文件上传到服务器的该路径下)

相关文章
相关标签/搜索