#Linux和git中简单的小问题

linux中:

1. 进入文件夹的命令

cd 文件夹名
(当该文件夹名称中带有空格时,应该用双引号将文件夹名称括起来,不然系统会将其当成多个cd的参数而报错,或按Tab键自动补全)

2.查看本文件下面的所有有文件信息

ls -al 即可
du常用的选项:
  -h:以人类可读的方式显示
  -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小
  -s:显示目录占用的磁盘空间大小,不要显示其下子目录和文件占用的磁盘空间大小
  -c:显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和
ls常用
	-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
	-A:显示除影藏文件“.”和“..”以外的所有文件列表;
	-C:多列显示输出结果。这是默认选项;
	-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
	-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
	-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
	-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;
	-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
	-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
	-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
	--file-type:与“-F”选项的功能相同,但是不显示“*”;
	-k:以KB(千字节)为单位显示文件大小;
	-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
	-m:用“,”号区隔每个文件和目录的名称;
	-n:以用户识别码和群组识别码替代其名称;
	-r:以文件名反序排列并输出目录内容列表;
	-s:显示文件和目录的大小,以区块为单位;
	-t:用文件和目录的更改时间排序;
	-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
	-R:递归处理,将指定目录下的所有文件及子目录一并处理;
	--full-time:列出完整的日期与时间;
	--color[=WHEN]:使用不同的颜色高亮显示不同类型的。

3.查看文本信息

less [选项] 文本					#该命令通常用于查看的内容不多的文本文件,长文件会因为滚动太快无法阅读。
vim [选项]  文本                                 #通过编辑器进行查看
cat [选项] 文本				#该命令通常用于查看的内容不多的文本文件,长文件会因为滚动太快无法阅读。
more [选项] 文件名 	    #该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- – More- – ,
						#若要继续显示,按回车或空格键即可。 若要继续显示,按回车或空格键即可。  
 						#该命令有一个常用选项 -p ,作用是显示下一屏之前先清屏。
head -n  文件名    #文本前n行
tail -n  文件名        #文本后n行   tail -f 动态查看文件
less    与more命令类似,但可以通过翻页键查看上下页的内容
	-b<缓冲区大小> 设置缓冲区的大小
	-e 当文件显示结束后,自动离开
	-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
	-g 只标志最后搜索的关键词
	-i 忽略搜索时的大小写
	-m 显示类似more命令的百分比
	-N 显示每行的行号
	-o<文件名> 将less 输出的内容在指定文件中保存起来
	-Q 不使用警告音
	-s 显示连续空行为一行
	-S 行过长时间将超出部分舍弃
	-x<数字> 将“tab”键显示为规定的数字空格
more 命令参数:
	+n  从笫n行开始显示
	-n  定义屏幕大小为n行
	-c  从顶部清屏,然后显示
	-d  提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
	-l  略Ctrl+l(换页)字符
	-p  通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
	-s  把连续的多个空行显示为一行
	-u  把文件内容中的下画线去掉
	+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示  

more常用操作命令:
	Enter    向下n行,需要定义。默认为1行
	Ctrl+F   向下滚动一屏
	空格键   向下滚动一屏
	Ctrl+B   返回上一屏
	=        输出当前行的行号
	:f       输出文件名和当前行的行号
	V        调用vi编辑器
	!命令    调用Shell,并执行命令 
	q        退出more
cat 命令
	1.一次显示整个文件。
	$ cat   filename
	2.从键盘创建一个文件。
	$ cat  >  filename
	只能创建新文件,不能编辑已有文件.
	3.将几个文件合并为一个文件。
	$cat   file1   file2  > file
	cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
	说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
	参数:
	-n 或 –number 由 1 开始对所有输出的行数编号
	-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
	-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
	-v 或 –show-nonprinting

4.动态查看文本前十行内容

tail -f
tail 参数
	-b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。 
	-c Number 从 Number 变量表示的字节位置开始读取指定文件。 
	-f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。 
	-k Number 从 Number 变量表示的1KB 块位置开始读取指定文件。 
	-m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。 
	-n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 
	-r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。-r 标志只有与 -n 标志一起时才有效。否则,就会将其忽略。

5.递归的复制一个文件夹中的所有以log结尾的文件或者文件夹

find good -name "*.py" -exec cp  {} te \;           #复制一个文件夹中的所有以log结尾的文件或者文件夹到指定文件夹
													#good 和 te 是在同一个文件下的,可以根据需要跟换绝对路径
find good -name "*.py" -exec cp  {} ./ \;          #复制到当前文件
find   path  -option  【 -print 】  【 -exec   -ok   |xargs  |grep  】 【  command  {} \;  】
	1)path:要查找的目录路径。 
	
	      ~ 表示$HOME目录
	       . 表示当前目录
	       / 表示根目录 
	2)print:表示将结果输出到标准输出。 
	
	3)exec:对匹配的文件执行该参数所给出的shell命令。 
	      形式为command {} \;,注意{}与\;之间有空格 
	
	4)ok:与exec作用相同,
	      区别在于,在执行命令之前,都会给出提示,让用户确认是否执行 
	
	5)|xargs  与exec作用相同 ,起承接作用
	
	区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
	
	6)options :表示查找方式
	
	options常用的有下选项:
	
		-name   filename               #查找名为filename的文件
		-perm                                #按执行权限来查找
		-user    username             #按文件属主来查找
		-group groupname            #按组来查找
		-mtime   -n +n                   #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
		-atime    -n +n                   #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
		-ctime    -n +n                  #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
		-nogroup                          #查无有效属组的文件,即文件的属组在/etc/groups中不存在
		-nouser                            #查无有效属主的文件,即文件的属主在/etc/passwd中不存
		-type    b/d/c/p/l/f             #查是块设备、目录、字符设备、管道、符号链接、普通文件
		-size      n[c]                    #查长度为n块[或n字节]的文件
		-mount                            #查文件时不跨越文件系统mount点
		-follow                            #如果遇到符号链接文件,就跟踪链接所指的文件
		-prune                            #忽略某个目录
  find <dir> -name <expression> -exec <command> {} \;

 

       dir :检索路径

       expression: 表达式(通用模式,不是正则表达式)

       command: 二级命令

       {} : 表示find 每检索出来一条的替代符号,(固定格式)

       \;  (固定格式)

       另:{} \; 这两个固定格式之间是有空格的

实例转:https://blog.csdn.net/l_liangkk/article/details/81294260
6.更改文件的所有者

chown [-R] 所有者名称 文件或者目录

-R: 进行递归的持续更改。也即连同子目录下的所有文件目录都更新成为这个用户组之意,常常用在更改某一目录内所有的文件情况

7.SHH登录 192.168.2.1端口号为9000的root用户的机器

ssh root@ 192.168.2.1 -p 9000 
默认使用当前系统用户 登录:ssh 【IP地址】 
例子:ssh 192.168.249.133 

指定 用户 登录:ssh 【用户名】@【IP地址】 
例子:ssh root@192.168.249.133 

指定 端口号 登录:ssh 【用户名】 @【IP地址】 -p 【端口号】 
例子:ssh root@192.168.249.133 -p 22 

秘钥生成 ssh-keygen –t rsa
[root@localhost ~]# ssh-keygen -t rsa       <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   <==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):     <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again:     <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa.    <== 生成的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub.    <== 生成的公钥

 root 用户的目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件,其中id_rsa 为私钥,id_rsa.pub 为公钥。

8.解压一个压缩包到当前目录中

tar -zxvf 压缩包名
tar 命令详解
  -c: 建立压缩档案
  -x:解压
  -t:查看内容
  -r:向压缩归档文件末尾追加文件
  -u:更新原压缩包中的文件
  这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
  -c: 建立压缩档案
  -x:解压
  -t:查看内容
  -r:向压缩归档文件末尾追加文件
  -u:更新原压缩包中的文件
  下面的参数-f是必须的
  -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
  
 1、*.tar 用 tar –xvf 解压
 2、*.gz 用 gzip -d或者gunzip 解压
 3、*.tar.gz和*.tgz 用 tar –xzf 解压
 4、*.bz2 用 bzip2 -d或者用bunzip2 解压
 5、*.tar.bz2用tar –xjf 解压
 6、*.Z 用 uncompress 解压
 7、*.tar.Z 用tar –xZf 解压
 8、*.rar 用 unrar e解压
 9、*.zip 用 unzip 解压

9.给某个文件加上写权限

chmod  a+w 文件名              #所有人用户(包括u g o)
chmod  u+w 文件名			  #文件拥有者
chmod  g+w 文件名			  #用户组
chmod  0+w 文件名			#其他用户
chmod
	u 表示该文件的拥有者[user],
	g 表示与该文件的拥有者属于组(group),
	o 表示其他用户[other],
	a 表示这三者皆是[all](常用)
	+ 表示增加权限(常用)
	- 表示取消权限(常用)
	= 表示唯一设定权限。
	
	r 表示有可读取的权限,
	w 表示有可写入的权限,
	x 表示有可执行的权限,
	X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

  -c : 若该文件权限确实已经更改,才显示其更改动作
  -f : 若该文件权限无法被更改也不要显示错误讯息
  -v : 显示权限变更的详细资料
        -R : 对目前目录下的所有文件与子目录进行相同的权限变更  (常用)
        --help : 显示帮助
        --version : 显示版本

        r=4,
        w=2,
        x=1
  rwx属性则4+2+1=7;
     rw-属性则4+2=6;
  r-x属性则4+1=5

10.查看网络状态

ifconfig	#查看网络配适器
netstat   #显示网络各种情况的命令
ping      #查看网络连接状态
ifconfig的输出内容
		1. Link encap ←
		2. HWaddr ←MAC地址
		3.inet addr ←IP地址(IPV4)
		4. Bcast ←广播地址
		5. Mask ←衍码
		6. inet6 addr ←IP地址(IPV6)
		7. UP ←启动中
		8. BROADCAST ←广播地址有效
		9. RUNNING ←动作
	   10. MTU ←网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)
	   11. Metric ←
	   12. RX packets ←受信包数
	   13. TX packets ←送信包数
	   14. collisions ←
	   15. interrupt ←IRQ号码
	   16. Baseaddress ←I/O地址
	   17. 还可以up(开启)和down(关闭)某个网络接口(网卡)
netstat 主要的选项:
	-a 显示所有socket,包括正在监听的。
	-c 每隔1秒就重新显示一遍,直到用户中断它。
	-i 显示所有网络接口的信息,格式同“ipconfig -e”。
	-n 以网络IP地址代替名称,显示出网络连接情形。
	-r 显示核心路由表,格式同“route -e”。
	-t 显示TCP协议的连接情况。
	-u 显示UDP协议的连接情况。
	-v 显示正在进行的工作。
Ping命令的主要选项如下:
	-c 数目在发送指定数目的包后停止。
	-d 设定SO_DEBUG的选项。
	-f 大量且快速地送网络封包给一台机器,看它的回应。
	-I 秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
	-l 次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。
	-q 不显示任何传送封包的信息,只显示最后的结果。
	-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。
	-s 字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

11.如何终止进程

kill 进程号
仅动态查看某个进程的状态
	top			#查看动态进程
  	 top -p 23539     #其中23539是进程号\

  ps :静态查看进程的统计信息;
		a:显示终端下所有进程信息,包括其他用户的进程
		u:显示进程的拥有者
		x:显示当前用户所在终端下的进程信息,和a一起用,显示所有进程
		-e:显示系统内所有进程信息
		-l:长格式显示
		-f:完整的格式显示
		
ps -aux 显示结果:
USER(拥有者 )       PID(进程号)    %CPU  (占用cpu百分比)   %MEM (占用内存百分比) 
 VSZ  (占用的虚拟内存的大小)      RSS(驻留内存大小) TTY( 终端)     STAT(进程状态) START(开始时间)  
 TIME( 运行时间) COMMAND(命令)

STAT:进程状态
	R:该进程正在运行
	S:休眠进程
	Z:僵尸进程,实际上该进程已经终止,但是它的父进程却无法正常终止它,造成僵尸进程的状态
	T:该进程正在跟踪或者已经停止

12.搜索Python进程的进程号

ps -ef | grep python
pidof python   #pidof 用于查找正在运行的程序的进程 ID  第一串数字为进程号

ps [选项]
	下面对命令选项进行说明:
	-e 显示所有进程。
	-f 全格式。
	-h 不显示标题。
	-l 长格式。
	-w 宽输出。
	a 显示终端上的所有进程,包括其他用户的进程。
	r 只显示正在运行的进程。
	u  以用户为主的格式来显示程序状况。
	x 显示所有程序,不以终端机来区分。

grep [options][options]主要参数:
	-c:只输出匹配行的计数。
	-I:不区分大 小写(只适用于单字符)。
	-h:查询多文件时不显示文件名。
	-l:查询多文件时只输出包含匹配字符的文件名。
	-n:显示匹配行及 行号。
	-s:不显示不存在或无匹配文本的错误信息。
	-v:显示不包含匹配文本的所有行。
	
pidof 
	-s 表示只返回1个 pid
	-x 表示同时返回运行给定程序的 shell 的 pid
	-o 表示告诉 piod 表示忽略后面给定的 pid ,可以使用多个 -o 。

13.查看当前用户名称

w
who
whoami 
管理用户组(group)的工具或命令;
	groupadd 注:添加用户组;
	groupdel 注:删除用户组;	
	groupmod 注:修改用户组信息	
	groups 注:显示用户所属的用户组
	
系统中用户的查看
	id       	##查看指定用户id信息
	id [参数]
		-u	      ##查看用户的uid
		-g	      ##查看用户的gid
		-G	      ##查看用户所在的所有组的id
		-n	      ##显示名字而不显示id数字
		
su - 用户名称			#切换用户
	su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
	su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
	注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
1.用户的建立
useradd	          ##建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则

useradd -u 6666 westos	   	##指定用户uid为6666
useradd -g 2018	westos	    ##指定用户初始组id,“2018用户组必须是存在的”
useradd -G 2018	westos	    	##指定用户的附加组id “2018用户组必须存在”
useradd -c “hello” westos	    ##指定用户的说明
useradd -d /home/lee westos	  ##指定用户的家目录
useradd -s /bin/sh westos	   ##指定用户的默认shell
注意:
可用watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'命令来监控用户的属性信息


2.用户的删除
userdel
userdel shr	  ##删除用户但不删除用户的配置文件
userdel -r shr	  ##删除用户并删除用户的配置文件

3.更改用户信息
usermod
usermod -l 新名称	westos	     ##更改用户的名称
usermod -u 6666	westos	     ##更改用户uid
usermod -g 24	westos	     	 ##更改用户的初始组
usermod -G 5555	westos	      ##更改用户的附加组
usermod -aG 66	westos	     ##添加用户的附加组
usermod -G “”	westos	      ##删除用户所有附加组的身份
usermod -c “hahahah”	westos	  	##指定用户说明文字
usermod -d /home/lee	westos	   ##更改用户家目录的指向
usermod -md /home/lee	westos	  	##更改用户家目录
usermod -s /bin/sh	westos	    ##更改用户的shell
usermod -L westos	      ##冻结用户
usermod -U	westos	      ##解锁用户

14.查看用户的身份,所属组等信息

id
cat /etc/passwd  #进入文件中查看 所有文件用户的信息
cat /etc/group  #进入文件中查看 查看用户组

未完。。。。待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值