文件目录

青蛙学Linux—shell

£可爱£侵袭症+ 提交于 2020-03-18 14:04:04
1、shell简介 shell俗称“壳”,它围绕在系统内核之外,是为用户提供与操作系统内核交互的软件。shell可以分为图形界面shell(GUI shell)和命令行shell(CLI shell,传统意义上的shell)。 shell提供了用户与操作系统之间通讯的方式。这种通讯可以以交互方式(键盘输入命令并立即得到响应)和非交互方式(shell script)执行。 Linux下有多种shell可以使用,除了默认的Bourne Again shell(bash),还有C shell(csh)、Korn shell(ksh)、Bourne shell(sh)和Tenex C shell(tcsh)等。每个shell的功能基本相同,但各有优缺点,现在在Linux发行版上使用的一般都是bash。 shell中定义了一些内置命令,同时Linux系统上还有很多可执行文件,这些可执行文件也可以作为shell命令来执行。shell的内置命令由shell自身来解释执行,所以执行的速度要比系统的可执行文件要快;系统的可执行文件只有当被调用的时候,才装入内存执行。 shell执行命令的具体过程为:用户在命令行输入命令提交后,shell首先检测该命令是否为内置命令,如果是,则直接通过shell的解释器解释并提交内核执行;如果不是

Linux基础(二)-用户、群组、权限

拟墨画扇 提交于 2020-03-18 14:00:09
相关文件 /etc/passwd /etc/shadow /etc/group /etc/gpasswd 相关命令 useradd passwd usermod userdel groupadd groupmod groupdel 权限 相关命令 chown 修改文件的属主 chgrp 修改文件的属组 chmod 设定文件权限 通过修改文件方式用户流程 相关文件 /etc/passwd 存储所有用户的相关信息 jin:x:1001:1001:haha:/home/jin:/bin/bash 根据冒号分割每个字段的意思: 用户名 如果是x,表示该用户登录Linux系统时必须使用密码;如果空则登录时无需输入密码 用户uid (1000前为系统用户,1000后为用户添加用户) 用户所属群组的gid 用户注释信息(如全名或通信地址) 家目录路径 用户登录后,第一个要执行的进程:/bin/bash可登录linux系统,/sbin/nologin该账号不可登录系统  /etc/shadow 所有用户密码文件 /etc/group 系统中所有群组信息 jin:x1010: 根据冒号分割,各个字段含义: 群组名字 这个群组在登录Linux系统时必须使用密码 群组的gid(1000前为系统,1000后用户添加) 这个群组里还有那些群组成员;  /etc/gpasswd 所有群组密码 相关命令

python常用模块-OS模块

最后都变了- 提交于 2020-03-18 12:23:51
关于路径处理问题:OS第三方库方法总结 import os __file__:指当前文件,带有路径的 D:/svn_auto3/test_case1/test1.py(注意这里的斜杠,和abspath的区别就是这里) # 路径操作 >>> os.chdir('D:\\') # 进入目录 # 目录切换操作 >>> import os >>> os.curdir '.' >>> os.pardir '..' >>> os.getcwd() 'C:\\Users\\suyongai' >>> os.chdir('..') >>> os.getcwd() 'C:\\Users' >>> os.chdir(os.pardir) >>> os.getcwd() 'C:\\' # 查看运行路径 >>> os.getcwd() 'D:\\' >>> os.listdir() # 查看运行路径下的所有目录 ['$RECYCLE.BIN', '07', '22f5f432caef7a4ed420ff0479f680be', '2345Downloads', '360安全浏览器下载', '360用户文件', 'a.txt', 'AirtestIDE', 'apache', 'auth', 'automation', 'automation2', 'automation_load',

Maven的安装、配置及使用入门

倖福魔咒の 提交于 2020-03-18 12:21:01
某厂面试归来,发现自己落伍了!>>> 本书代码下载 大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎大家与我交流任何关于本书的问题和关于Maven的问题。 咖啡与工具 本书相当一部分的内容是在苏州十全街边的Solo咖啡馆完成的,老板Yin亲手烘焙咖啡豆、并能做出据说是苏州最好的咖啡,这小桥流水畔的温馨小 屋能够帮我消除紧张和焦虑,和Yin有一句没一句的聊天也是相当的轻松。Yin还教会了我如何自己研磨咖啡豆、手冲滴率咖啡,让我能够每天在家里也能享受 香气四溢的新鲜咖啡。 本书的书稿是使用Git和Unfuddle(http://unfuddle.com/)进行管理的,书中的大量截图是通过Jing(http://www.techsmith.com/jing/)制作的。 JuvenXu 2010年10月于苏州Solo咖啡 致谢 感谢费晓峰,是你最早让我学习使用Maven,并在我开始学习的过程中给予了不少帮助。 感谢Maven开源社区特别是Maven的创立者Jason Van Zyl,是你们一起创造了如此优秀的开源工具,造福了全世界这么多的开发人员。 感谢我的家人,一年来,我的大部分原来属于你们的业余时间都给了这本书,感谢你们的理解和支持。 感谢二少、Garin、Sutra、JTux、红人

Linux特殊权限:SUID、SGID、SBIT

て烟熏妆下的殇ゞ 提交于 2020-03-18 09:39:53
1、suid suid 只对二进制程序有效,执行者对于程序需要有x权限,在程序运行过程中,执行者拥有程序拥有者的权限 例如:普通用户执行passwd命令。 a、首先查看passwd命令的绝对路径及passwd命令权限,发现passwd的owner是root,且owner权限里本应是x的那一列显示为s,说明这个命令具有SUID权限。 b、/bin/passwd的权限是 -rw s r-xr-x ,普通用户没有w权限,按理普通用户不能执行passwd命令去修改密码文件/etc/shadow,且/etc/shadow的权限是000,只有root有rw权限。 ps:root用户对所有文件都是有rw权限的,对所有目录都是有rwx权限 c、因passwd具有suid权限,所以普通用户执行passwd时,系统生成的对应进程,具有/bin/passwd文件拥有者root的权限,所以可以修改密码。如下所示 2、sgid sgid 对于二进制程序有效,执行者对于程序需要有x权限,在程序执行过程中,执行者拥有程序用户组的权限(相当于临时加入了程序的用户组) 例如:普通用户使用locate命令 a、/bin/locate的用户组权限中,应该出现x的位置显示的s,表示这个命令具有SGID权限。而普通用户只有x权限而没有rw权限。 而locate这个命令,实际上会去访问/var/lib/mlocate

Linux中/proc目录下文件详解

房东的猫 提交于 2020-03-18 09:06:39
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一) /proc 文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化。命令procinfo能够显示基于其中某些文件的多种系统信息。以下详细描述/proc下的文件。 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过 proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是 动态从系统内核读出所需信息并提交的。 -------------------------------------------------------------------------------- /proc/cmdline文件 这个文件给出了内核启动的命令行。它和用于进程的cmdline项非常相似。 示例: [root@localhost proc]# cat cmdline ro root=LABEL=/ rhgb quiet ---------------------------------

Git详细教程(1)---个人Git的基本使用

╄→尐↘猪︶ㄣ 提交于 2020-03-18 09:03:40
分布式版本控制系统--git 一. 什么是 Git 1. Git 是什么 Git 是目前世界上最先进的 分布式 版本控制 系统(没有之一)。 实际上版本控制系统有如下几个: 1) CVS 2) SVN 3) Git 这个概念中有两个疑问: 1. 什么是版本控制 2.什么是分布式? 2. 为什么需要 Git 大家熟悉的一个场景:论文 类似的场景,在软件开发中更为普遍。 分组完成项目的时候 1)多人协作,是如何完成的? 2)开发自己的任务的时候,从写第一行代码开始到整个结束,有没有来回修改? 如何来解决这些问题呢? 早期,在项目规模还没有那么大的时候,大家制定一些规则,手动解决就行。 随着软件和项目规模的增大,这种手动方式,效率太低,问题太多,不能满足开发的需求。 需要有相应的工具来解决 --- 于是就出现了 版本控制系统。 1)CVS ,功能比较弱,现在很少使用 2)SVN ,功能比较完善,使用比较多 3)Git ,功能最强大的,也是最受欢迎的。 所以,版本控制可以帮助我们实现两件事情: 1)自动记录每次的修改,并且可以方便的切换到任一版本 2)可以完成多人协作开发 3. Git 和 GitHub 有何区别 Git ,是一个版本控制系统,实际上是一个 工具 ,大多数都是基于命令行的。 GitHub ,是一个使用 Git 作为版本控制的托管代码的网站, 平台 。 重点在于学习 Git

linux-2.6.22.6内核启动分析之Makefile文件

别说谁变了你拦得住时间么 提交于 2020-03-18 07:12:25
学习目标 分析Makefile文件,了解内核中的哪些文件被编译,如何被编译,连接时顺序如何确定! Linux内核源码中包含很多的Makefile文件,这些Makefile文件又包含其它的一些文件,比如配置信息、通用规则等等。我们可以把内核中的Makefile文件分为5类,如下表所示: 顶层Makefile 所有Makefile文件的核心,从总体控制内核的编译、连接 .config 配置文件,在执行配置命令时生成。所有Makefile文件都根据.config来决定如何使用哪些文件 arch/$(ARCH)/Makefile 对应CPU体系结构的Makefile文件,用来决定那些体系结构相关的文件参与内核的生成,并提供一些规则来生成特定格式内核映象 kbuild Makefile 各级子目录下的Makefile,相对比较简单,被上一级Makefile调用来编译当前目录下的文件 script/Makefile.* Makefile共用规则和脚本 执行make uImage命令时内核最终被编译,所以要分析内核Makefile文件关系,把目标uImage作为分析的入手点最为合适。打开顶层Makefile文件,在顶层Makefile文件中查找目标uImage的依赖关系,结果发现在顶层Makefile文件中不能直接找到目标uImage的依赖

Linux的目录结构

女生的网名这么多〃 提交于 2020-03-18 03:04:36
基本介绍 1. linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 深刻理解Linux的树状目录是非常重要的 2. linux不在像window一样有盘符的概念 3. 在Linux的世界里,一切皆文件. Linux中的硬件设备,例如声卡,网卡都会被映射为一个文件来管理 例如 /dev 目录就是专门用来管理设备的 (还有 /media) 来源: https://www.cnblogs.com/Rowry/p/12515083.html

linux基础

萝らか妹 提交于 2020-03-18 01:48:30
文件的操作命令: clear:清屏 ls:查看 ls -l:查看当前目录下的所有文件 ls -lh: cd:进入目录中 cd 。 :代表当前目录 cd。。:代表上一级目录: cd /:回到根目录 cd ~:回到家目录 mkdir:创建目录 mkdir -p:递归创建目录 pwd:显示当前所在的目录的绝对路径 touch +文件名:创建文件 mv+要移动的文件+移动的目标地址:移动文件 多层目录移动直接写全目标地址即可 mv+文件名+文件名:改名 mv *。txt mv -f 文件名 要移动的目录:改名 *代表全部 cp+文件名:复制 rm -rf+文件名:不询问直接删除 rm -rf /: 查看文件的命令: cat+文件名:查看文件 一般是小文件 more+文件名:按比例查看文件 一般是大文件 按空格可以展开查看 less+文件名:按照行查看 head+文件名:默认查看文件的十行 head -数字 +文件名:查看数字行 tail:从后尾开始查看 tail -数字+文件名:查看文件末尾数字行 tail -f:从末尾动态查看 在看的过程中按q退出 >:重定向 >>:在末尾追加 echo:打印 压缩文件 打包 touch {a..z}.txt :创建a到z之间的这么多文件 tar cvf demo.tar * : 将现在*的文件打包成demo.tar tar -tf demo.tar: