收藏 分销(赏)

python学习笔记.doc

上传人:快乐****生活 文档编号:4333668 上传时间:2024-09-06 格式:DOC 页数:36 大小:760.71KB
下载 相关 举报
python学习笔记.doc_第1页
第1页 / 共36页
python学习笔记.doc_第2页
第2页 / 共36页
点击查看更多>>
资源描述
连续学习 学习计划 这是我在过去几家公司招聘到工程师,Python入职培训的过程。 时间分为4周,全部自学,仅提供大纲。适用于Web方向: 1、Week1:读完《简明Python教程》,适应Python开发环境 2、Week2:写个爬虫,需要深入了解re、urllib2、sqlite3、threading,Queue等几个模块。需要用上多线程抓取,正则表达式分析,并发资源控制,重新开启程序自动继续抓取和分析 3、Week3:学习一种Web开发框架,推荐Flask、webpy之类的,学个数据库接口如sqlite3,写个简单的web应用如博客 4、Week4:给产品做个小功能并走完测试和上线流程,各个时期是不同的 我在之前的几家公司招聘工程师时,学过Python的其实较少。更常见的情况是人聪明,招来再学Python。就是按照如上流程。这个流程安排的挺轻松的,我找到的所有人都成功完成了这个流程。并且之后工作也很顺利。 CH1 基础知识 python大小写敏感,缩进敏感. Python至少应当有第一行那样的特殊形式的注释。它被称作 组织行 ——源文件的头两个字符是#!,后面跟着一个程序。这行告诉你的Linux/Unix系统当你 执行 你的程序的时候,它应该运行哪个解释器。这会在下一节做详细解释。注意,你总是可以通过直接在命令行指定解释器,从而在任何平台上运行你的程序。就如同命令python helloworld.py一样。 注释符:# 单引号、双引号作用一样,选择单还是双主要依据字符串特点,不引起解释器注释就好 实数---浮点数 双斜杠---整除 2**3=8-----幂运算,或者用pow函数 pow(2,3)>>8 match.floor(32.9)=32.0 ---向下取整,ceil是向上取整 from 模块 import 函数:from math import floor-----这样就可以直接使用函数 也可以用变量引用函数:foo=match.sqrt,则foo(4)=2.0 foo(-1)=nan-----nan是特殊值,表示非数值(not a number) 负数平方是虚数,要引入cmath模块:import cmath,cmath.sqrt(-1)=1j from _future_ import 函数----_future_模块是新特性的集合 程序编辑:file-new Window 添加环境变量: 程序运行方式: (1).py文件----edità run或crtl+F5 (2)通过CMD窗口运行 (3)代码最后添加: raw_input(“press <enter>”),这样就可以双击.py文件直接运行 字符串表示:str让字符串更易阅读、repr让结果字符串转换为合法的Python表达式 Input和raw_input区别:前者输入必须带双引号才认为是字符串,后者会把所有的输入当做原始数据(raw data),然后将其放入字符串中。尽可能使用raw_input 长字符串需要跨行,可使用’’’ 字符串 ‘’’ 或 “”” 字符串 “””,用三个引号(双引号)括起来后,中间字符号可以自由使用单引号或双引号,不需使用 \ 进行转义 转义字符:\ 换行符: \n 原始字符串:字符串以r开头,不会将\当做特殊字符 Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。例如,u"This is a Unicode string."。 记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。 如何缩进 不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我强烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。 选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。 for i in range(1,5)等价于for i in [1, 2, 3, 4] 字节编译的.pyc文件: 使输入模块更快加载。原理:Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。 ---对shoplist的操作会影响mylist ---对mylist的操作不会影响shoplist join()函数 语法:  'sep'.join(seq) 参数说明 sep:分隔符。可以为空 seq:要连接的元素序列、字符串、元组、字典 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串 返回值:返回一个以分隔符sep连接各个元素后生成的字符串 编写一个软件的各个环节 1. 什么(分析) 2. 如何(设计) 3. 编写(实施) 4. 测试(测试与调试) 5. 使用(实施或开发) 6. 维护(优化) “软件是长出来的,而不是建造的” if __name__ == "__main__" “Make a script both importable and executable” 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。 下面举例说明: 先写一个模块: 1 2 3 4 5 #module.py def main():   print "we are in %s"%__name__ if __name__ == '__main__':   main() 这个函数定义了一个main函数,我们执行一下该py文件发现结果是打印出”we are in __main__“,说明我们的if语句中的内容被执行了,调用了main(): 但是如果我们从另一个模块导入该模块,并调用一次main()函数会是怎样的结果呢? ? 1 2 3 #anothermodle.py from module import main main() 其执行的结果是:we are in module 但是没有显示”we are in __main__“,也就是说模块__name__ = '__main__' 下面的函数没有执行。 这样既可以让“模块”文件运行,也可以被其他模块引入,而且不会执行函数2次。这才是关键。 总结一下: 如果我们是直接执行某个.py文件的时候,该文件中那么”__name__ == '__main__'“是True,但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是我们这个py文件的名字而不是__main__。 这个功能还有一个用处:调试代码的时候,在”if __name__ == '__main__'“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行! 备份程序问题解决 下载WinRAR免费版后,添加绝对路径,并把参数改为a,搞定 os.sep变量的用法——这会根据你的操作系统给出目录分隔符,即在Linux、Unix下它是'/',在Windows下它是'\\',而在Mac OS下它是':'。使用os.sep而非直接使用字符,会使我们的程序具有移植性,可以在上述这些系统下工作。 可以使用物理行尾的反斜杠来表示逻辑行在下一物理行继续 面向对象编程 类创建一个新类型,而对象是这个类的 实例 。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象) Python中即便是整数也被作为对象(属于int类) 类使用class关键字创建。类的域和方法被列在一个缩进块中。 类/对象可以拥有像函数一样的方法,这些方法与函数的区别只是一个额外的self变量 Python中的self等价于C++中的self指针和Java、C#中的this参考。 假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。 __init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。 __init__方法类似于C++、C#和Java中的 constructor  还有一个特殊的方法__del__,它在对象消逝的时候被调用。对象消逝即对象不再被使用,它所占用的内存将返回给系统作它用。 当对象不再被使用时,__del__方法运行,但是很难保证这个方法究竟在 什么时候 运行。如果你想要指明它的运行,你就得使用del语句,就如同我们在以前的例子中使用的那样 文件读写 f = file('poem.txt', 'w') # open for 'w'riting,如果不存在则新建 f.write(text) # write text to file f.close() # close the file line = f.readline()#读文件的每一行 储存器 模块cPickle,pickle功能完全相同,可以在一个文件中储存任何Python对象,前者用C编写速度快得多, import cPickle as p shoplistfile = 'shoplist.data'#创建用于储存的文件,文件名:shoplist.data # the name of the file where we will store the object f = file(shoplistfile, 'w') p.dump(shoplist, f) # dump the object to a file f.close() f = file(shoplistfile) storedlist = p.load(f) print storedlist 首先以写模式打开一个file对象,然后调用储存器模块的dump函数,把对象储存到打开的文件中。这个过程称为 储存  使用pickle模块的load函数的返回来取回对象。这个过程称为 取储存  sys模块 sys模块中其他令人感兴趣的项目有sys.stdin、sys.stdout和sys.stderr它们分别对应你的程序的标准输入、标准输出和标准错误流 sys.argv[]的用法 sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。 下面我们通过一个极简单的test.py程序的运行结果来说明它的用法。 import sys a=sys.argv[0] print(a) 将test.py保存在c盘的根目录下。 在程序中找到 ‘运行’,打开,输入cmd回车进入控制台命令窗口,先输入cd c:\   (作用是将命令路径改到c盘根目录),然后输入test.py运行我们刚刚写的程序:   得到的结果是C:\test.py,这就是0指代码(即此.py程序)本身的意思。 然后我们将代码中0改为1 : a=sys.argv[1] 保存后,再从控制台窗口运行,这次我们加上一个参数,输入:test.py what    得到的结果就是我们输入的参数what,看到这里你是不是开始明白了呢。 那我们再把代码修改一下: a=sys.argv[2:] 保存后,再从控制台窗台运行程序,这次多加几个参数,以空格隔开: test.py a b c d e f   得到的结果为[‘b’, ’c’, ’d’, ’e’, ’f’]   应该大彻大悟了吧。Sys.argv其实就是一个元组,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。 os模块 这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep可以取代操作系统特定的路径分割符。 下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。 · os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。 · os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 · os.getenv()和os.putenv()函数分别用来读取和设置环境变量。 · os.listdir()返回指定目录下的所有文件和目录名。 · os.remove()函数用来删除一个文件。 · os.system()函数用来运行shell命令。 · os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。 · os.path.split()函数返回一个路径的目录名和文件名。 >>> os.path.split('/home/swaroop/byte/code/poem.txt') ('/home/swaroop/byte/code', 'poem.txt') · os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()函数用来检验给出的路径是否真地存在。 列表综合 通过列表综合,可以从一个已有的列表导出一个新的列表。 在函数中接收元组和列表 当要使函数接收元组或字典形式的参数的时候,有一种特殊的方法,它分别使用*和**前缀。这种方法在函数需要获取可变数量的参数的时候特别有用。 >>> def powersum(power, *args): ...     '''Return the sum of each argument raised to specified power.''' ...     total = 0 ...     for i in args: ...          total += pow(i, power) ...     return total ... >>> powersum(2, 3, 4) 25 >>> powersum(2, 10) 100 由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。如果使用的是**前缀,多余的参数则会被认为是一个字典的键/值对。 注意在使用交互模式的Python解释器的时候,它会通过恰当地改变提示符来帮助你输入语句。在上面这个例子中,当你输入了关键字if之后,Python解释器把提示符改变为...以表示语句还没有结束。在这种情况下,我们按回车键用来确认语句已经完整了。然后,Python完成整个语句的执行,并且返回原来的提示符并且等待下一句输入。 lambda形式 lambda语句被用来创建新的函数对象,并且在运行时返回它们。 这里,我们使用了make_repeater函数在运行时创建新的函数对象,并且返回它。lambda语句用来创建函数对象。本质上,lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回。注意,即便是print语句也不能用在lambda形式中,只能使用表达式。 exec和eval语句 exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句。下面是一个简单的例子。 >>> exec 'print "Hello World"' Hello World eval语句用来计算存储在字符串中的有效Python表达式。下面是一个简单的例子。 >>> eval('2*3') 6 assert语句 assert语句用来声明某个条件是真的。例如,如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError。 >>> mylist = ['item'] >>> assert len(mylist) >= 1 >>> mylist.pop() 'item' >>> assert len(mylist) >= 1 Traceback (most recent call last):   File "<stdin>", line 1, in ? AssertionError repr函数 repr函数和反引号用来获取对象的可打印的表示形式 爬虫 2、Week2:写个爬虫,需要深入了解re、urllib2、sqlite3、threading,Queue等几个模块。需要用上多线程抓取,正则表达式分析,并发资源控制,重新开启程序自动继续抓取和分析 python中threading模块详解 正则表达式 Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先使用pile()函数,将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。 举一个简单的例子,在寻找一个字符串中所有的英文字符: 1 2 3 4 5 import re pattern = pile('[a-zA-Z]') result = pattern.findall('as3SiOPdj#@23awe') print result # ['a', 's', 'S', 'i', 'O', 'P', 'd', 'j', 'a', 'w', 'e'] Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。 刷票系统研究 不同网站投票的机制是不同的,有的投票不限ip不限次数也没有cookies(当然现在这样的太少了,貌似阿狸有?),这样的你只要找到它的接口,然后想投多少投多少。还有的有cookies,但不设ip限制,这样的只要固定删一下cookies就行了。还有的限制ip,你就需要不停的更换ip。最后是最难刷票的,登录微信qq等账号,每个账号固定投几票,这样的就需要拥有大量的微信qq号,一般人肯定没那个条件。总之,python能帮你的就是不停的访问投票接口,用requests模块最好,其他的,就不是它能做到的了。比如模拟微信客户端投票。 其他 网络爬虫 Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 虚拟机网络设置 1、 2、 3、主机上的VMnet1虚拟网卡的设置 4、虚机中网络设置(Windows) 或(linux) 还需修改网络配置文件中的内容,防止虚拟机重启后,以上网络设置被重置。具体步骤如下: cd /etc/sysconfig/network-scripts/ 目录下,可查看到 ifcfg-eth0 文件,vi ifcfg-eth0文件,修改其中的 ONBOOT 属性为YES 算法 冒泡排序:大的往右边冒泡。第一次遍历,将最大值交换到最右边;第2次遍历,将次大值交换到右2位置。。。 选择排序:选择小的往左边排列。 LINUX 大小写敏感 安装软件 rpm 是红帽(RedHat)软件包管理工具,实现类似于 Windows 中的添加/删除程序功能。 rpm -ivh 软件包名 安装软件包并显示安装进度。这个是用得最多的了。 rpm -qa 查询已经安装哪些软件包 rpm -q 软件包名 查询指定软件包是否已经安装。 rpm -Uvh  软件包名 升级一个软件包。 rpm -e 软件包名 删除指定软件包。 yum search xxx yum install xxx apt-get,Advanced Package Tool,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 apt-get命令一般需要root权限执行,所以一般跟着sudo命令。 sudo apt-get install # ------(package 安装包) sudo apt-get update #------更新源 sudo apt-get upgrade #------更新已安装的包 sudo pip install pillow ----sudo pip install调用的是系统安装的pip pip是一个安装和管理 Python 包的工具 ,是easy_install的替代品 wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,并可以使用 HTTP 代理。"wget" 这个名称来源于 “World Wide Web” 与 “get” 的结合。 ls命令 ls命令用于显示目录内容,类似DOS下的dir。 ls [options][filename] 主要参数: -a,--all:列出所有文件,包括隐藏文件; -l:使用较长格式列出信息; -m:所有项目以逗号分隔,并填满整行行宽; -R,--recursive:同时列出所有子目录层; -h 易读方式(带单位) -u 显示文件的最后访问时间 蓝色表示是目录,绿色表示是可执行文件,红色表示是压缩文件,浅蓝色 表示是链接文件,灰色表示是其他格式文件。 ls最常使用的是ls -l。其别名为ll 查阅文件 1.cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便; 2.more命令可以让屏幕在显示满一屏幕时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示。 3.less命令也可以分页显示文件,和more命令的区别就在于它支持上下键卷动屏幕,当结束浏览时,只要在less命令的提示符“: ”下按Q键即可。 另外,多数情况下more和less命令会配合管道符来分页输出需要在屏幕上显示的内容。  cat install.log | grep “i686”| more ,这条命令实际上是将install.log文件内的所有内容管道给grep,然后查找包含i686的文本行,最后将查找到的内容管道给more分页输出。 grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print LINUX管道命令 n 管道符号是什么?| n 管道符号的作用? 将一个命令的输出定向成另一个命令的输入 如:command1|command2,command1的输出将成为command2的输入 n 通常结合more&less使用 ls-R1 | more cat file1 | more Linux输入输出重定向命令 有时候并不希望执行结果输出到屏幕。我想输出到文件或其它设备。这个时候我们就需要进行输出重定向了 1.  标准输入   (stdin) :代码为 0 ,使用 < 或 << 2.  标准输出   (stdout):代码为 1 ,使用 > 或 >> 3.  标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> cmd > file 把 stdout 重定向到 file 文件中(覆盖); cmd >> file 把 stdout 重定向到 file 文件中(追加); cmd 1> fiel 把 stdout 重定向到 file 文件中; cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中; cmd 2> file 把 stderr 重定向到 file 文件中; cmd 2>> file 把 stderr 重定向到 file 文件中(追加); cmd >> file 2>&1 把 stderr 和 stderr 一起重定向到 file 文件中(追加); cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout; cat <>file 以读写的方式打开 file; cmd < file cmd 命令以 file 文件作为 stdin; cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。 Shell脚本和Shell编程 n 当命令不在命令行中执行,而是从一个文件中执行时,该文件就称为 Shell 脚本。 n Shell 脚本是纯文本文件。 n Shell 脚本通常以 .sh 作为后缀名,但不是必须。 n Shell 脚本是以行为单位的,在执行脚本的时候会分解成一行一行依次执行。 n Shell 是一种功能强大的解释型编程语言 n 通常用于完成特定的、较复杂的系统管理任务 n Shell 脚本语言非常擅长处理文本类型的数据 n 使用文本编辑器编辑脚本文件 $ vi script-file n 为脚本文件添加可执行权限 $ chmod +x script-file n Shell 脚本的执行 $ . /script-file i编辑 esc退出编辑 yy 复制光标所在行 p 粘贴 :w 将编辑缓冲区的内容写入文件 :wq 保存文件并退出 :w!强行写入。 :q!强行退出vi,不保存修改的内容 最基本的网络管理命令 n netconfig:进行网络配置 改动的是/etc/sysconfig/network-scripts/ifcfg-eth? n ping:用于网络检测 #ping n ifconfig:网络配置和网络参数查看 # ifconfig n netstat 查看网络状况 数据库 数据库原理:按某种数据结构组织、存储、管理数据的容器 数据库模型:关系型、面向对象、层次、网状 关系型数据库实质是一张二维表 操作关系型数据库用SQL SQL分为DDL/DML/DCL三类 DDL:create、drop、alter DML:select、insert into、update、delete DCL:grant、revoke、commit、rollback OLTP:联机事务处理,如银行在线交易 OLAP:联机分析处理,如移动无线性能分析月报 关系型数据库设计,常用E-R图 E-R图用于表示实体类型、属性、联系:矩形框表示实体类型、圆形框表示属性、无向边表示联系、菱形表示不同实体类型间关系 关系型数据库设计流程: 为E-R图中每个实体建立一张表 为每张表定义一个主键 设置外键 删除冗余 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键  比如   学生表(学号,姓名,性别,班级)  其中每个学生的学号是唯一的,学号就是一个主键  课程表(课程编号,课程名,学分)  其中课程编号是唯一的,课程编号就是一个主键  成绩表(学号,课程号,成绩)  成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键     成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键     同理 成绩表中的课程号是课程表的外键  进入数据库: mysql –u root –p show databases; use dbTEST; show tables; (vi tblCity_DDL.sql) source tblCity_DDL.sql desc tblCity; select * from tblCity; 视图:用于简化开销(主表变化,视图会自动变化)、访问权限管理 create view viewWLAN as select … from table1, table2, table3 where … and … Ctrl+d 键盘输入结束或退出终端 Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行 Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg Ctrl+a 将光标移至输入行头,相当于Home键 Ctrl+e 将光标移至输入行末,相当于End键 Ctrl+k 删除从光标所在位置到行末 Alt+Backspace 向前删除一个单词 Shift+PgUp 将终端显示向上滚动 Shift+PgDn 将终端显示向下滚动 man <command_name>帮助 通常 man 手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man 中使用搜索,/<你要搜索的关键字>,查找到后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为man使用less作为阅读器,实为less工具的帮助),按下q退出。 如果你知道某个命令的作用,只是想快速查看一些它的某个具体参数的作用,那么你可以使用--help参数, ls –help su <user>可以切换到用户user,执行时需要输入目标用户的密码,sudo <cmd>可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。su - <user>命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。 $ sudo adduser lilei 创建好一个用户 $ su -l lilei切换登录用户 sudo usermod -G sudo lilei执行 sudo 命令将 lilei 添加到 sudo 用户组 $ sudo deluser lilei --remove-home 二、Linux 文件权限 $ ls -l较长格式列出文件并显示当前目录下的文件 $ ls –A 显示除了 '.'(当前目录),'..' 上一级目录之外的所有包含隐藏文件(Linux 下以 '.' 开头的文件为隐藏文件) $ touch iphone6新建一个文件,命名为 “iphone6” 文件所有者成功修改为 shiyanlou : $ cd /home/lilei $ ls iphone6 $ sudo chown shiyanlou iphone6 $ cp iphone6 /home/shiyanlou 大部分目录结构是规定好了(FHS 标准) FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。 第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。 linux常用命令的英文单词缩写 命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户 rpm:redhat package manager 红帽子打包管理器 pwd:print work directory 打印当前目录 显示出当前工作目录的绝对路径 ps: process status(进程状态,类似于windows的任务管理器) 常用参数:-auxf ps -auxf 显示进程状态 df: disk free 其功能是显示磁盘可用空间数目信息及空间结点信息。换句话说,就是报告在任何安装的设备或目录中,还剩多少自由的空间。 rpm: 即RedHat Package Management,是RedHat的发明之一 rmdir:Remove Directory(删除目录) rm:Remove(删除目录或文件) cat: concatenate连锁 cat file1 file2>>file3把文件1和文件2的内容联合起来放到file3中 insmod: install module,载入模块 ln -s : link -soft 创建一个软链接,相当于创建一个快捷方式 mkdir:Make Directory(创建目录 touch man: Manual pwd:Print working directory su:Swith user cd:Change directory ls:List files ps:Process Status mkdir:Make directory rmdir:Remove directory mkfs: Make file system fsck:File system check cat: Concatenate uname: Unix name df: Disk free
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服