Linux学习2

		
			文件管理:
					定向   ls > test.txt  
					重定向		ls >>test.txt 覆盖test.txt
						保存ls显示的信息
					gedit test.txt  
						打开文件
					
					cat /usr/include/stdio.h  查看文件
					more  /usr/include/stdio.h   查看文件
						分屏显示
					

					管道:
						cat stdio.h  //只有一页
						
						ls | grep std    //筛选,关键字std  .stdio.h 过滤
						
					清屏 clear  
					
					切换工作目录 cd   cd /home
								cd ..回到上一个目录
					当前路劲 pwd
					
							cd 用户目录
							cd ~用户目录		cd  ~/..可以省略一些路劲
							cd -上一个进入的目录
							cd ./当前路劲
							
					自动补充  Tab键
			
			
		
			创建目录 mkdir
								mkdir  aa
								mkdir  ./a 
								mkdir  ./a/b/c -p 		bc不存在的话不会出现错误                                                                  
								
					删除目录 rmdir
								
								rmdir  a 
								
					删除文件 	rm  
							删除目录   rm a   -r    //要加-r      rm  a.txt -i  会提示是否删除yes or no
								
					创建文件 touch  
									 touch a.txt 
									 
									rm * -rf   删除当前所有的文件
									
				
	建立链接文件   ln    
							软连接 ln -s 	源文件   新连接			//可以来连接目录 ,软连接依赖源文件存在
							  硬链接 ln  源文件   新连接		//不能连接目录,改变a b也随之改变
							  ln a.txt b.txt 		改变a b也随之改变
							  
							  
					查看文本内容  cat      gedit   
								cat  a.txt   b.txt 
								gedit  a.txt 
								
					文本搜索 grep  
								grep    a   b.txt   (b.txt)找a(-ivn忽略大小写)
								grep ^a  test.txt  -n  以a开头的行
								grep[0-9]abc[0-9]  test.txt 	-n 
								
					查找文件 find : 
									find  ./ -name *.c 
									find   ./  -size  2M  小于2M的文件
									find  ./ -size +2M 
									find ./ -size -2M  小于 
					拷贝文件  cp: 
								 cp   a.txt  b.txt 
								 cp   abc/   obj   -r    (-r 目录  -i 提示 -v 进度)
								 
					移动文件  mv:							(-f 无提示  -i 提示 -v进度)					
								mv   a.txt   /home/usr/ 
								mv aa.txt  bb.txt   改名
			
					
					获取文件类型   :file
										file hello 
										file a
										file a.txt 
										
					归档管理 tar	: tar(参数) 打包文件名  文件    无压缩,就是打包
									tar -cvf   aaa.tar   a/   b/   c/
									tar -cvf	aa.tar *   当前路径所有	
									解包  tar -xvf  aa.tar    -C 路劲  没路径默认当前 指定目录必须加-C
									
									
									查看文件大小
											df ./lib/ -h 
											ls -lh ./lib/ 
											du ./lib/ -h 
					文件压缩解压   gzip
										gzip  -r test.tar    生成后缀位.gz文件   压缩
										gzip -d test.tar.gz  解压
										压缩打包
											tar -czvf  aa.tar.gz    所需文件
										解压解包: 
											tar -xzvf  aa.tar.gz 
										
					文件压缩解压  bzip2	
										
										tar  -cvf aa.tar  * 		(-r所有)
										bzip2 -z aa.tar
										压缩打包
											tar -cjvf  aa.tar.bz2    所需文件
										解压解包: 
											tar -xjvf  aa.tar.bz2
					文件压缩解压 zip ,unzip
								
								压缩文件:zip -r a    bb/
								解压文件:unzip -d    ./   a.zip 
								
					
				
					查看命令位置 which      /bin

							which ls 
							which gcc 
							which  sudo 
							
			用户权限管理:
					
					查看当前用户:whoami
							查看当前账户  whoami 
							查看登陆用户  who 
							查案登陆用户 w 
					退出当前用户 exit
					
					切换用户   su       //   sudo (ubuntu)
								 sudo su root 
							
					添加,删除组账号:groupadd,groupdel
						
								查看用户组信息: cat   /etc/group     看用户组id
								sudo groupadd abc 
								sudo groupdel abc 
					修改用户所在组 :usermod			
								usermod -g  用户组  用户名
								查看用户信息
									cat  /etc/passwd
					添加用户:useradd,passwd,userdel
					
					
					修改文件权限  chmod    u  user 表示文件的所有制  g group 用户组
											0  other 其他人   all 表示这三者
											+-加减权限
											
											chmod u-w  a.txt    就不能写了
											chmod g+x  a.txt 
											chmode o=rwx  a.txt  都给他们权限
								
					sudo last 查看之前登陆信息			
			
					
			系统管理:
					查看当前日历   cal 
								cal -y
								date 
								
					查看进程信息:  ps	:   -a所有进程   -u显示进程的详细状态
											-x显示没有控制终端的进程
											-w 显示加宽,以便显示更多信息
											-r  只显示正在运行的进程
									ps  -aux	
								
					关闭进程   :	ps -aux |grep gedit 
									kill 4085
									kill -9 4085
									
									
					动态显示进程: top 			
								
					ifconfig  /ipconfig(window)
					ping   +ip
								
								
		
	vi:		打开文件: vim 文件名字   +num(行数)
					插入模式;编译文件  i 
					退出: esc  + :wq     ZZ(退出保存)(文件不能是空的,空的不会新建)
							:q!退出不保存
					
					命令模式
					插入模式/编译模式
					(命令模式下按下面)
					a  光标位置右边插入文字
					i  光标位置当前插入文字
					o  光标位置下方开启新行
					O	光标上方开启新行
						I   光标所在行首插入文字
						A   光标所在行尾插入文字
					
					vi的退出
						ZZ(保存退出)
						:wq(保存退出)
						:x(保存退出)
						:w filename   保存到指定文件
						:q!  退出如果文件修改但没有保存
						:!命令   暂时离开vi,执行命令
							:!ls 
						:X  给文件添加密码
				
		
					vi 的配置
						F9:侧栏
						\p<  :头文件
						\im  main函数
						\ip   printf
						ctrl +n 显示历史写的代码
					

					其他 
						[n]dd  剪切  n 几行
						[n]yy  复制
						p    粘贴
						u   撤销
								
						vi  定位:
						ctrl+ f    向前滚动一个屏幕
						ctrl +b    向后滚动一个屏幕
						gg			到文件第一行行首
						G			到文件最后一行行首
						:$			到文件最后一行行尾
						mgg或mG    m只行数 到指定行
						/内容		查找制定内容
						
						
						文本查询:
							/字符   /main   下一个main   n 
											上一个main   	N
											
						显示行号  :ser nu 
							不现实行号: :set nonu
								
					Linux 远程连接 Linux 
							ssh -l username hostip
;