1。输入与输出 1。1代码中要修改不可变数据会出现什么问题?抛出什么异常? 代码不会正常运行,抛出TypeError异常。 1。2a1,b2,不用中间变量交换a和b的值? 方法一:1。aab2。bab3。aab 方法二:1。aab2。bba3。aab 方法三:1。a,bb,a 1。3print调用Python中底层的什么方法? print方法默认调用sys。stdout。write方法,即往控制台打印字符串。 1。4下面这段代码的输出结果将是什么?请解释?1。classParent(object):2。x13。classChild1(Parent):4。pass5。classChild2(Parent):6。pass7。printParent。x,Child1。x,Child2。x8。Child1。x29。printparent。x,Child1。x,Child2。x10。parent。x311。printParent。x,Child1。x,Child2。x 结果为: 111继承自父类的类属性x,所以都一样,指向同一块内存地址。 121更改Child1,Child1的x指向了新的内存地址。 323更改Parent,Parent的x指向了新的内存地址。 1。5简述你对input()函数的理解? 在Python3中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。 在Python2中有rawinput()和input(),rawinput()和Python3中的input()作用是一样的, input()输入的是什么数据类型的,获取到的就是什么数据类型的。2。条件与循环 2。1阅读下面的代码,写出A0,A1至An的最终值。1。A0dict(zip((a,b,c,d,e),(1,2,3,4,5)))2。A1range(10)3。A2〔iforiinA1ifiinA0〕4。A3〔A0〔s〕forsinA0〕5。A4〔iforiinA1ifiinA3〕6。A5{i:iiforiinA1}7。A6〔〔i,ii〕foriinA1〕 答:1。A0{a:1,c:3,b:2,e:5,d:4}2。A1〔0,1,2,3,4,5,6,7,8,9〕3。A2〔〕4。A3〔1,3,2,5,4〕1。A4〔1,2,3,4,5〕2。A5{0:0,1:1,2:4,3:9,4:16,5:25,6:36,7:49,8:64,9:81}3。A6〔〔0,0〕,〔1,1〕,〔2,4〕,〔3,9〕,〔4,16〕,〔5,25〕,〔6,36〕,〔7,49〕,〔8,64〕〔9,81〕〕 2。2Python2中range和xrange的区别? 两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器,前者是 直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表 很长时,使用xrange性能要比range好。 2。3考虑以下Python代码,如果运行结束,命令行中的运行结果是什么?1。l〔〕2。foriinxrange(10):3。l。append({‘num’:i})4。printl 在考虑以下代码,运行结束后的结果是什么?1。l〔〕2。a{‘num’:0}3。foriinxrange(10):4。a〔‘num’〕i5。l。append(a)6。printl 以上两段代码的运行结果是否相同,如果不相同,原因是什么? 上方代码的结果:1。〔{‘num’:0},{‘num’:1},{‘num’:2},{‘num’:3},{‘num’:4},{‘num’:5},{‘num’:6},{‘num’:7},{‘num’:8},{‘num’:9}〕 下方代码结果:1。〔{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9},{‘num’:9}〕 原因是:字典是可变对象,在下方的l。append(a)的操作中是把字典a的引用传到列表l中,当后 续操作修改a〔‘num’〕的值的时候,l中的值也会跟着改变,相当于浅拷贝。 2。4以下Python程序的输出?1。foriinrange(5,0,1):2。print(i) 答:543213。文件操作 3。14G内存怎么读取一个5G的数据? 方法一: 可以通过生成器,分多次读取,每次读取数量相对少的数据(比如500MB)进行处理,处理结束后 在读取后面的500MB的数据。 方法二: 可以通过linux命令split切割成小文件,然后再对数据进行处理,此方法效率比较高。可以按照行 数切割,可以按照文件大小切割。 3。2现在考虑有一个jsonline格式的文件file。txt大小约为10K,之前处理文件的 代码如下所示:1。defgetlines():2。l〔〕3。withopen(‘file。txt’,‘rb’)asf:4。foreachlineinf:5。l。append(eachline)6。returnl7。ifname‘main’:8。foreingetlines():9。process(e)处理每一行数据 现在要处理一个大小为10G的文件,但是内存只有4G,如果在只修改getlines函数而其他代 码保持不变的情况下,应该如何实现?需要考虑的问题都有哪些?1。defgetlines():2。l〔〕3。withopen(‘file。txt’,’rb’)asf:4。dataf。readlines(60000)5。l。append(data)6。yieldl 要考虑到的问题有: 内存只有4G无法一次性读入10G的文件,需要分批读入。分批读入数据要记录每次读入数据的位 置。分批每次读入数据的大小,太小就会在读取操作上花费过多时间。 3。3read、readline和readlines的区别? read:读取整个文件。 readline:读取下一行,使用生成器方法。 readlines:读取整个文件到一个迭代器以供我们遍历。 3。4。补充缺失的代码?1defprintdirectorycontents(sPath):23这个函数接收文件夹的名称作为输入参数4返回该文件夹中文件的路径5以及其包含文件夹中文件的路径67补充代码8代码如下9importos10forsChildinos。listdir(sPath):11sChildPathos。path。join(sPath,sChild)12ifos。path。isdir(sChildPath):13printdirectorycontents(sChildPath)14else:15print(sChildPath)4。异常 4。1在except中return后还会不会执行finally中的代码?怎么抛出自定义异常? 会继续处理finally中的代码;用raise方法可以抛出自定义异常。 4。2介绍一下except的作用和用法? except:捕获所有异常 except:异常名:捕获指定异常 except:异常名1,异常名2:捕获异常1或者异常2 except:异常名,数据:捕获指定异常及其附加的数据 except:异常名1,异常名2:数据:捕获异常名1或者异常名2,及附加的数据5。模块与包 5。1常用的Python标准库都有哪些 os操作系统,time时间,random随机,pymysql连接数据库,threading线程,multiprocessing 进程,queue队列。 第三方库: django和flask也是第三方库,requests,virtualenv,selenium,scrapy,xadmin,celery, re,hashlib,md5。 常用的科学计算库(如Numpy,Scipy,Pandas)。 5。2赋值、浅拷贝和深拷贝的区别? 一、赋值 在Python中,对象的赋值就是简单的对象引用,这点和C不同,如下所示:16a〔1,2,hello,〔python,C〕〕17ba 在上述情况下,a和b是一样的,他们指向同一片内存,b不过是a的别名,是引用。 我们可以使用bisa去判断,返回True,表明他们地址相同,内容相同,也可以使用id()函数来查 看两个列表的地址是否相同。 赋值操作(包括对象作为参数、返回值)不会开辟新的内存空间,它只是复制了对象的引用。也就是 说除了b这个名字之外,没有其他的内存开销。修改了a,也就影响了b,同理,修改了b,也就影响了a。 二、浅拷贝(shallowcopy) 浅拷贝会创建新对象,其内容非原对象本身的引用,而是原对象内第一层对象的引用。 浅拷贝有三种形式:切片操作、工厂函数、copy模块中的copy函数。 比如上述的列表a; 切片操作:ba〔:〕或者b〔xforxina〕; 工厂函数:blist(a); copy函数:bcopy。copy(a); 浅拷贝产生的列表b不再是列表a了,使用is判断可以发现他们不是同一个对象,使用id查看, 他们也不指向同一片内存空间。但是当我们使用id(x)forxina和id(x)forxinb来查看a和b中元 素的地址时,可以看到二者包含的元素的地址是相同的。 在这种情况下,列表a和b是不同的对象,修改列表b理论上不会影响到列表a。 但是要注意的是,浅拷贝之所以称之为浅拷贝,是它仅仅只拷贝了一层,在列表a中有一个嵌套的 list,如果我们修改了它,情况就不一样了。 比如:a〔3〕。append(java)。查看列表b,会发现列表b也发生了变化,这是因为,我们修改了嵌 套的list,修改外层元素,会修改它的引用,让它们指向别的位置,修改嵌套列表中的元素,列表的地 址并未发生变化,指向的都是用一个位置。 三、深拷贝(deepcopy) 深拷贝只有一种形式,copy模块中的deepcopy()函数。 深拷贝和浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。因此,它的时间和空 间开销要高。 同样的对列表a,如果使用bcopy。deepcopy(a),再修改列表b将不会影响到列表a,即使嵌 套的列表具有更深的层次,也不会产生任何影响,因为深拷贝拷贝出来的对象根本就是一个全新的对象, 不再与原来的对象有任何的关联。 四、拷贝的注意点? 对于非容器类型,如数字、字符,以及其他的原子类型,没有拷贝一说,产生的都是原对象的 引用。 如果元组变量值包含原子类型对象,即使采用了深拷贝,也只能得到浅拷贝。 5。3init和new的区别? init在对象创建后,对对象进行初始化。 new是在对象创建之前创建一个对象,并将该对象返回给init。 5。4Python里面如何生成随机数? 在Python中用于生成随机数的模块是random,在使用前需要import。如下例子可以酌情列 举: random。random():生成一个01之间的随机浮点数; random。uniform(a,b):生成〔a,b〕之间的浮点数; random。randint(a,b):生成〔a,b〕之间的整数; random。randrange(a,b,step):在指定的集合〔a,b)中,以step为基数随机取一个数; random。choice(sequence):从特定序列中随机取一个元素,这里的序列可以是字符串,列表,元组等。 5。5输入某年某月某日,判断这一天是这一年的第几天?(可以用Python标准库)1。importdatetime2。defdayofyear():3。yearinput(请输入年份:)4。monthinput(请输入月份:)5。dayinput(请输入天:)6。date1datetime。date(yearint(year),monthint(month),dayint(day))7。date2datetime。date(yearint(year),month1,day1)8。return(date1date21)。days 5。6打乱一个排好序的list对象alist?1。importrandom2。random。shuffle(alist) 5。7说明一下os。path和sys。path分别代表什么? os。path主要是用于对系统路径文件的操作。 sys。path主要是对Python解释器的系统环境参数的操作(动态的改变Python解释器搜索路径)。 5。8Python中的os模块常见方法?os。remove()删除文件os。rename()重命名文件os。walk()生成目录树下的所有文件名os。chdir()改变目录os。mkdirmakedirs创建目录多层目录os。rmdirremovedirs删除目录多层目录os。listdir()列出指定目录的文件os。getcwd()取得当前工作目录os。chmod()改变目录权限os。path。basename()去掉目录路径,返回文件名os。path。dirname()去掉文件名,返回目录路径os。path。join()将分离的各部分组合成一个路径名os。path。split()返回(dirname(),basename())元组os。path。splitext()(返回filename,extension)元组os。path。getatimectimemtime分别返回最近访问、创建、修改时间os。path。getsize()返回文件大小os。path。exists()是否存在os。path。isabs()是否为绝对路径os。path。isdir()是否为目录os。path。isfile()是否为文件 5。9Python的sys模块常用方法?sys。argv命令行参数List,第一个元素是程序本身路径sys。modules。keys()返回所有已经导入的模块列表sys。excinfo()获取当前正在处理的异常类,exctype、excvalue、exctraceback当前处理的异常详细信息sys。exit(n)退出程序,正常退出时exit(0)sys。hexversion获取Python解释程序的版本值,16进制格式如:0x020403F0sys。version获取Python解释程序的版本信息sys。maxint最大的Int值sys。maxunicode最大的Unicode值sys。modules返回系统导入的模块字段,key是模块名,value是模块sys。path返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值sys。platform返回操作系统平台名称sys。stdout标准输出sys。stdin标准输入sys。stderr错误输出sys。excclear()用来清除当前线程所出现的当前的或最近的错误信息sys。execprefix返回平台独立的python文件安装的位置sys。byteorder本地字节规则的指示器,bigendian平台的值是big,littleendian平台的值是littlesys。copyright记录python版权相关的东西sys。apiversion解释器的C的API版本sys。versioninfo元组则提供一个更简单的方法来使你的程序具备Python版本要求功能 5。10unittest是什么? 在Python中,unittest是Python中的单元测试框架。它拥有支持共享搭建、自动测试、在测试中暂停代码、将不同测试迭代成一组,等的功能。 5。11模块和包是什么? 在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。 一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。6。Python特性 6。1Python是强语言类型还是弱语言类型? Python是强类型的动态脚本语言。 强类型:不允许不同类型相加。 动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。 脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译。 6。2谈一下什么是解释性语言,什么是编译性语言? 计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。 解释性语言在运行程序的时候才会进行翻译。 编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)。 6。3Python中有日志吗?怎么使用? 有日志。 Python自带logging模块,调用logging。basicConfig()方法,配置需要的日志等级和相应的参数, Python解释器会按照配置的参数生成相应的日志。 6。4Python是如何进行类型转换的? 内建函数封装了各种转换函数,可以使用目标类型关键字强制类型转换,进制之间的转换可以用 int(‘str’,base’n’)将特定进制的字符串转换为十进制,再用相应的进制转换函数将十进制转换为目标进制。 可以使用内置函数直接转换的有: listtupletuple(list) tuplelistlist(tuple) 6。5Python2与Python3的区别? 1)核心类差异 1。Python3对Unicode字符的原生支持。 Python2中使用ASCII码作为默认编码方式导致string有两种类型str和unicode,Python3只 支持unicode的string。Python2和Python3字节和字符对应关系为: 2。Python3采用的是绝对路径的方式进行import。 Python2中相对路径的import会导致标准库导入变得困难(想象一下,同一目录下有file。py,如 何同时导入这个文件和标准库file)。Python3中这一点将被修改,如果还需要导入同一目录的文件必 须使用绝对路径,否则只能使用相关导入的方式来进行导入。 3。Python2中存在老式类和新式类的区别,Python3统一采用新式类。新式类声明要求继承object, 必须用新式类应用多重继承。 4。Python3使用更加严格的缩进。Python2的缩进机制中,1个tab和8个space是等价的,所 以在缩进中可以同时允许tab和space在代码中共存。这种等价机制会导致部分IDE使用存在问题。 Python3中1个tab只能找另外一个tab替代,因此tab和space共存会导致报错:TabError: inconsistentuseoftabsandspacesinindentation。 2)废弃类差异 1。print语句被Python3废弃,统一使用print函数 2。exec语句被python3废弃,统一使用exec函数 3。execfile语句被Python3废弃,推荐使用exec(open(。filename)。read()) 4。不相等操作符被Python3废弃,统一使用! 5。long整数类型被Python3废弃,统一使用int 6。xrange函数被Python3废弃,统一使用range,Python3中range的机制也进行修改并提高了 大数据集生成效率 7。Python3中这些方法再不再返回list对象:dictionary关联的keys()、values()、items(),zip(), map(),filter(),但是可以通过list强行转换:1。mydict{a:1,b:2,c:3}2。mydict。keys()builtinmethodkeysofdictobjectat0x000000000040B4C83。list(mydict。keys())〔a,c,b〕 8。迭代器iterator的next()函数被Python3废弃,统一使用next(iterator) 9。rawinput函数被Python3废弃,统一使用input函数 10。字典变量的haskey函数被Python废弃,统一使用in关键词 11。file函数被Python3废弃,统一使用open来处理文件,可以通过io。IOBase检查文件类型 12。apply函数被Python3废弃 13。异常StandardError被Python3废弃,统一使用Exception 3)修改类差异 1。浮点数除法操作符 和的区别 : Python2:若为两个整形数进行运算,结果为整形,但若两个数中有一个为浮点数,则结果为 浮点数; Python3:为真除法,运算结果不再根据参加运算的数的类型。 : Python2:返回小于除法运算结果的最大整数;从类型上讲,与运算符返回类型逻辑一致。 Python3:和Python2运算结果一样。 2。异常抛出和捕捉机制区别 Python21。raiseIOError,fileerror抛出异常2。exceptNameError,err:捕捉异常 Python31。raiseIOError(fileerror)抛出异常2。exceptNameErroraserr:捕捉异常 3。for循环中变量值区别 Python2,for循环会修改外部相同名称变量的值1。i12。print(comprehension:,〔iforiinrange(5)〕)3。print(after:i,i)i4 Python3,for循环不会修改外部相同名称变量的值1。i12。print(comprehension:,〔iforiinrange(5)〕)3。print(after:i,i)i1 4。round函数返回值区别 Python2,round函数返回float类型值1。isinstance(round(15。5),int)True Python3,round函数返回int类型值1。isinstance(round(15。5),float)True 5。比较操作符区别 Python2中任意两个对象都可以比较1。11testTrue Python3中只有同一数据类型的对象可以比较1。11testTypeError:unorderabletypes:int()str() 4)第三方工具包差异 我们在pip官方下载源pypi搜索Python2。7和Python3。5的第三方工具包数可以发现,Python2。7版本对应的第三方工具类目数量是28523,Python3。5版本的数量是12457,这两个版本在第三方工具包支持数量差距相当大。 我们从数据分析的应用角度列举了常见实用的第三方工具包(如下表),并分析这些工具包在Python2。7和Python3。5的支持情况: 5)工具安装问题 windows环境 Python2无法安装mysqlclient。Python3无法安装MySQLpython、flup、functools32、Gooey、Pywin32、webencodings。 matplotlib在python3环境中安装报错:Thefollowingrequiredpackagescannotbebuilt:freetype,png。需要手动下载安装源码包安装解决。scipy在Python3环境中安装报错,numpy。distutils。systeminfo。NotFoundError,需要自己手工下载对应的安装包,依赖numpy,pandas必须严格根据python版本、操作系统、64位与否。运行matplotlib后发现基础包numpymkl安装失败,需要自己下载,国内暂无下载源 centos环境下 Python2无法安装mysqlpython和mysqlclient包,报错:EnvironmentError:mysqlconfignotfound,解决方案是安装mysqldevel包解决。使用matplotlib报错:nomodulenamedtkinter,安装Tkinter、tkdevel、tcdevel解决。 pywin32也无法在centos环境下安装。 6。6关于Python程序的运行方面,有什么手段能提升性能? 1、使用多进程,充分利用机器的多核性能 2、对于性能影响较大的部分代码,可以使用C或C编写 3、对于IO阻塞造成的性能影响,可以使用IO多路复用来解决 4、尽量使用Python的内建函数 5、尽量使用局部变量 6。7Python中的作用域? Python中,一个变量的作用域总是由在代码中被赋值的地方所决定。当Python遇到一个变量的话它会按照这的顺序进行搜索: 本地作用域(Local)当前作用域被嵌入的本地作用域(Enclosinglocals)全局模块作用域 (Global)内置作用域(Builtin)。 6。8什么是Python?Python是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理,可以加入其他语言的对比。Python是一种解释型语言,Python在代码运行之前不需要解释。Python是动态类型语言,在声明变量时,不需要说明变量的类型。Python适合面向对象的编程,因为它支持通过组合与继承的方式定义类。在Python语言中,函数是第一类对象。Python代码编写快,但是运行速度比编译型语言通常要慢。Python用途广泛,常被用走胶水语言,可帮助其他语言和组件改善运行状况。使用Python,程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。 6。9什么是Python自省? Python自省是Python具有的一种能力,使程序员面向对象的语言所写的程序在运行时,能够获得 对象的类Python型。Python是一种解释型语言,为程序员提供了极大的灵活性和控制力。 6。10什么是Python的命名空间? 在Python中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作这就是命名空间。它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的时候,会从该盒子里面寻找相应的对象。 6。11你所遵循的代码规范是什么?请举例说明其要求? PEP8规范。 1。变量 常量:大写加下划线USERCONSTANT。 私有变量:小写和一个前导下划线privatevalue。 Python中不存在私有变量一说,若是遇到需要保护的变量,使用小写和一个前导下划线。但这只是程序员之间的一个约定,用于警告说明这是一个私有变量,外部类不要去访问它。但实际上,外部类还是可以访问到这个变量。 内置变量:小写,两个前导下划线和两个后置下划线class 两个前导下划线会导致变量在解释期间被更名。这是为了避免内置变量和其他变量产生冲突。用户 定义的变量要严格避免这种风格。以免导致混乱。 2。函数和方法 总体而言应该使用,小写和下划线。但有些比较老的库使用的是混合大小写,即首单词小写,之后 每个单词第一个字母大写,其余小写。但现在,小写和下划线已成为规范。 私有方法:小写和一个前导下划线 这里和私有变量一样,并不是真正的私有访问权限。同时也应该注意一般函数不要使用两个前导下 划线(当遇到两个前导下划线时,Python的名称改编特性将发挥作用)。 特殊方法:小写和两个前导下划线,两个后置下划线 这种风格只应用于特殊函数,比如操作符重载等。 函数参数:小写和下划线,缺省值等号两边无空格 3。类 类总是使用驼峰格式命名,即所有单词首字母大写其余字母小写。类名应该简明,精确,并足以从 中理解类所完成的工作。常见的一个方法是使用表示其类型或者特性的后缀,例如: SQLEngine,MimeTypes对于基类而言,可以使用一个Base或者Abstract前缀BaseCookie, AbstractGroup 4。模块和包 除特殊模块init之外,模块名称都使用不带下划线的小写字母。 若是它们实现一个协议,那么通常使用lib为后缀,例如: importsmtplib importos importsys 5。关于参数 5。1不要用断言来实现静态类型检测。断言可以用于检查参数,但不应仅仅是进行静态类型检测。 Python是动态类型语言,静态类型检测违背了其设计思想。断言应该用于避免函数不被毫无意义的调 用。 5。2不要滥用args和kwargs。args和kwargs参数可能会破坏函数的健壮性。它们使签 名变得模糊,而且代码常常开始在不应该的地方构建小的参数解析器。 6。其他 6。1使用has或is前缀命名布尔元素 isconnectTrue hasmemberFalse 6。2用复数形式命名序列 members〔user1,user2〕 6。3用显式名称命名字典 personaddress{user1:10roadWD,user2:20streethuafu} 6。4避免通用名称 诸如list,dict,sequence或者element这样的名称应该避免。 6。5避免现有名称 诸如os,sys这种系统已经存在的名称应该避免。 7。一些数字 一行列数:PEP8规定为79列。根据自己的情况,比如不要超过满屏时编辑器的显示列数。 一个函数:不要超过30行代码,即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数。 一个类:不要超过200行代码,不要有超过10个方法。一个模块不要超过500行。 8。验证脚本 可以安装一个pep8脚本用于验证你的代码风格是否符合PEP8。7。Linux基础和git 7。1Linux的基本命令(怎么区分一个文件还是文件夹) lsF在显示名称的时候会在文件夹后添加 ,在文件后面加 。 7。2日志以什么格式,存放在哪里? 日志以文本可以存储在varlog目录下后缀名为。log。 7。3Linux查看某个服务的端口?1。netstatanpgrepservicename 7。4ubuntu系统如何设置开机自启动一个程序? 直接修改etcrc0。detcrc6。d和etcrcS。d文件夹的内容,添加需启动的程序,S开头的表示 启动,K开头的表示不启动。 7。5在linux中find和grep的区别 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。 linux下的find: 功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。 语法:find起始目录寻找条件操作 说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对 之采取相关的操作。 简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。 7。6Linux重定向命令有哪些?有什么区别? 1、重定向 Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。如:ls test。txt(test。txt如果不存在,则创建,存在则覆盖其内容)。 2、重定向 这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的 内容追加到那个文件的末尾,该文件中的原有内容不受影响。 7。7软连接和硬链接的区别? 软连接类似Windows的快捷方式,当删除源文件时,那么软链接也失效了。硬链接可以理解为源 文件的一个别名,多个别名所代表的是同一个文件。当rm一个文件的时候,那么此文件的硬链接数减 1,当硬链接数为0的时候,文件被删除。 7。810个常用的Linux命令? pwd显示工作路径 ls查看目录中的文件 cdhome进入home目录 cd。。返回上一级目录 cd。。。。返回上两级目录 mkdirdir1创建一个叫做dir1的目录 rmffile1删除一个叫做file1的文件,f参数,忽略不存在的文件,从不给出提示。 rmdirdir1删除一个叫做dir1的目录 groupaddgroupname创建一个新用户组 groupdelgroupname删除一个用户组 tarcvfarchive。tarfile1创建一个非压缩的tarball tarcvfarchive。tarfile1file2dir1创建一个包含了file1,file2以及dir1的档案文件 tartfarchive。tar显示一个包中的内容 tarxvfarchive。tar释放一个包 tarxvfarchive。tarCtmp将压缩包释放到tmp目录下 tarcvfjarchive。tar。bz2dir1创建一个bzip2格式的压缩包 tarxvfjarchive。tar。bz2解压一个bzip2格式的压缩包 tarcvfzarchive。tar。gzdir1创建一个gzip格式的压缩包 tarxvfzarchive。tar。gz解压一个gzip格式的压缩包 7。9Linux关机命令有哪些? 7。10git合并文件有冲突,如何处理? 1、gitmerge冲突了,根据提示找到冲突的文件,解决冲突如果文件有冲突,那么会有类似的标记 2、修改完之后,执行gitadd冲突文件名 3、gitcommit注意:没有m选项进去类似于vim的操作界面,把conflict相关的行删除掉直接push就可以了,因为刚刚已经执行过相关merge操作了。