linux基础了解的学习记录
一、文件结构图
linux的储存结构为文件树
二、绝对路径、相对路径、权限
1、绝对路径:
/usr/local/include 在路径的最前面是 / 开头的
使用环境:当在当前路径下想到其他路径显得文件,需使用绝对路径。
2、相对路径:
local/include 在路径的最前面没有 / 开头的
使用环境:当在当前路径下想进入当前路径下的文件时,可使用相对路径。
3、权限:
文件有执行的权限
drwx rw- rw- d表示是文件而不是文件夹(文件夹d的位置是-),r表示有读的权限,w表示有写的权限,x表示有执行的权限(-表示没有给位置的权限)
三、linux命令、通配符(类似正则表达式)
linux命令:
touch hello.txt 创建一个空的文件
mkdir /home/python/djcode 创建一个空的文件夹路径
tab键 自动补全,当输入的命令太长时,输入几个字符就可以按tab键系统自动补全其他字符
更多常用见: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会返回上一次的用户登录关闭本次登陆。
用户切换登录、删除权限示意图:
用户组管理:
查看有哪些用户组
1、cat /etc/group (cat /etc/passwd 查看用户)
2、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 (登录)
2、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/ (把本地文件上传到服务器的该路径下)
linux基础了解的学习记录的更多相关文章
- linux系统中毒排查学习记录
linux有许多的版本,主要关注redhat(centos)和ubuntu这两个主流版本 以下命令基本都需要root权限,执行命令前记得加sudo 第一步 top,ps命令查看系统资源和负载情况,查看 ...
- linux下计划任务学习记录
0x01 计划任务简介 linux 中计划任务主要分为”循环执行”和”只执行一次”两种,分别对应的时 crond 服务 和 atd 服务: 0x02 只执行一次的计划任务 0x02.1 atd 服务说 ...
- Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记
1.创建用户和用户组 1)用户和用户组 /etc/passwd 保存系统用户的基本信息 /etc/group 保存用户组信息 用户名:x:UID:GID 2)基本命令 useradd 增加用户 gro ...
- 【Linux基础】Linux基础命令行学习笔记
绝对路径:cd /home/python相对路径:cd Downloads . 表示:当前那路径..表示:当前路径的上一层../.. 表示:当前路径的上二层 没有...或者以上的 ls: ls 查看当 ...
- MongoDB 基础命令使用学习记录
1. 启动 mongod 几个常用命令说明:--dbpath : 指定数据库相关文件的存储目录 --logpath: 指定日志文件的存储目录 --port: 指定数据库的端口,默认是 27017 -- ...
- 虚拟机联网及远程连接-Linux基础环境命令学习笔记
1.ifconfig命令=ip a命令,查看IP地址 网卡默认名称eth0. Bcast 广播地址2.xshell or secureCRT远程连接 ssh root@地址 xmanager 远程桌面 ...
- Linux 文件操作命令-Linux基础环境命令学习笔记
1.文件目录操作 1)路径识别 a.绝对路径,以根目录开始 b.相对路径,以当前目录开始,不需从根目录开始写起 2)命令 man ls 查看ls命令帮助 cd /var/log 切换进入log目录(. ...
- Linux shell编程命令-Linux基础环境命令学习笔记
1.正则表达式 1)^开始 *前一个字符重复0次以上 + 1次以上 ? 0次或者1次 . 一个任意字符(.*连用) {m,n} m到n次 [0-9][a-z] 任意数字或字母 $结束字符 2)sed和 ...
- 和菜鸟一起学linux之dlna的学习记录
关于DLNA框架 1.Networking & Connectivity 为了解决物理设备连通问题, 主要依赖于Ethernet,802.11,Ipv4协议栈,Ipv6协议栈. TCP/IP协 ...
随机推荐
- argos3-simulator
如何修改控制器: CVector2: class CVector2 { friend class CRotationMatrix2; friend class CTransformationMatri ...
- [leetcode-644-Maximum Average Subarray II]
Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...
- 软件工程项目组Z.XML会议记录 2013/09/18
软件工程项目组Z.XML会议记录 [例会时间]2013年9月18日周三21:00-23:00 [例会形式]小组讨论 [例会地点]三号公寓楼会客厅 [例会主持]李孟 [会议记录]毛宇 会议整体流程 一. ...
- [译]在SQL查询中如何映射(替换)查询的结果?
问题来源: https://stackoverflow.com/questions/38567366/mapping-values-in-sql-select 有一个表格,就称它Plant,它有三列: ...
- Qt5.6关联VS2013,配置VAssistX
1. 安装Qt qt-creator-opensource-windows-x86-4.2.0.exe 2. 安装Qt VS插件 qt-vs-addin-1.2.5.exe 3. 配置ASSISTX ...
- (转)Foundation-性能优化之NSDateFormatter
性能优化之NSDateFormatter 为什么要优化NSDateFormatter? 首先,过度的创建NSDateFormatter用于NSDate与NSString之间转换,会导致App卡顿,打开 ...
- jQuery下拉列表二级联动插件
jQuery下拉列表二级联动插件的视图代码: <!doctype html> <html lang="en"> <head> <meta ...
- 51nod 1851俄罗斯方块(trick)
题目大意:给出一个黑白图,你可以选定一个俄罗斯方块的区域,黑白翻转,问能否变成白图 比较trick的题目, 首先可以想到,奇数个1肯定是无解的,所以考虑偶数个1 可以先讨论n是2的情况 当n为2时,其 ...
- [Leetcode] Remove duplicates from sorted array 从已排序的数组中删除重复元素
Given a sorted array, remove the duplicates in place such that each element appear only once and ret ...
- underscore的bind和bindAll方法
bind方法和bindAll方法都是用来设定函数的this值的,区别是调用方式不同. var xiaoming = { say:function(){ console.log('I am xiaomi ...