Linux02-常规使用和命令

一、Linux介绍

Linux 是一种自由和开放源码的类 UNIX 操作系统。

Linux 是在 1991 由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。

Linux 遵循 GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。
由于 Linux 是自由软件,任何人都可以创建一个符合自己需求的 Linux 发行版。

目前主流的 Linux 版本有:

  • Debian(及其派生版本Ubuntu、Linux Mint)
  • Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)
  • openSUSE
  • 等等

本文基于CentOS为大家介绍 Linux 系统的使用。

安装CentOS参考我的上一篇博文:Linux01-虚拟机安装(VMware15+CentOS7)

二、Linux目录介绍

Linux系统目录和Windows系统目录是有区别的。
使用命令ls可查看:

[root@localhost ~]# ls /
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
  • /bin
    bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

  • /dev
    dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

  • /home
    普通用户的主目录,在 Linux 中,每个用户都有一个自己的家目录,存储在home目录中,一般该目录名是以用户的账号命名的。

  • /lib64 和 /lib
    在centos中,lib64文件夹用于存放64位系统标准程序设计库。
    lib文件夹用于存放标准程序实际库,也叫动态链接共享库,作用类似windows中的“.dll”文件。

  • /mnt
    系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

  • /proc
    proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

  • /run
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

  • /srv
    该目录存放一些服务启动之后需要提取的数据。

  • /tmp
    tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。

  • /var
    var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /boot
    这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /etc
    etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /media
    linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

  • /opt
    opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /root
    该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin
    s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。

  • /sys
    这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
    sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
    该文件系统是内核设备树的一个直观反映。
    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /usr
    usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

    • /usr/bin:
      系统用户使用的应用程序。
    • /usr/sbin:
      超级用户使用的比较高级的管理程序和系统守护程序。
    • /usr/src:
      内核源代码默认的放置目录。

三、基础命令

前提:

  1. Linux命令区分大小写
  2. 语法:命令 [选项1] [选项2]... [参数1] [参数2] ...

基础命令:

1.uname -r :查看内核版本,例如:2.6.32-431.el6.x86_64              
	Linux系统 = 内核 + 外围软件(收费)
	2:主版本号
	6:次版本号
	32:修订版本号
	431.el6.x86_64:红帽公司修订号
	
2.cat /etc/redhat-release : 查看系统版本

3.hostname :查看主机名

4.ifconfig:查看所有网卡信息
  ifconfig 网卡名 :查看指定网卡信息

5.ifconfigcd  网卡名 ip : 设置临时ip(重启就没了)

6.clear :清屏

7.重启:shutdown -h now 
  关机:reboot

8.date :查看系统时间

四、文件和目录命令

1.pwd:查看当前的所在目录

2.ls:查看当前工作目录的内容(简略,只有名字)
     1. ls -l:查看详情,等同于:ll命令
     2. ls -lh [/目录]:查看详情(包含大小)
     3. ls -a : 查看所有文件(包含隐藏文件) 
        ls -A :同上,去掉 ... 的结果
     4. ls -l -d [/目录]: 显示目录的属性,也可以使用:ls -ldh
     5. ls -R [/目录]:递归显示目录下的所有文件和目录
	     
3.du:查看文件大小
	du -sh /tmp/1.txt

4.cd:用于改变当前工作目录 
    1. cd  或者 cd ~        都是回到当前用户的家目录
    2. cd /路径             切换到指定目录
    3. cd .                 当前目录
    4. cd ..                返回上一级 ,例:cd ../..  返回父级的父级目录 
    5. cd -                 切换到 上一次 的目录

		
5.创建文件夹
	mkdir 文件夹名
	mkdir -p /文件夹名/文件夹名  (创建多级目录)
	
6.创建文件 / 修改文件时间
	touch 文件名
	--如果文件名不存在就创建文件,如果存在就修改时间	

7.复制文件
		不改名复制文件: cp 源文件 目标目录 
		改名复制文件:   cp 源文件 目标目录/文件名(改名后的文件名)
	
8.复制文件夹以及内容
	cp -r 源文件夹 目标目录
	cp -r 源文件夹1 源文件夹2 源文件1 目标目录    --将 “源文件夹1 源文件夹2 源文件1” 复制到 “目标目录”下

	cp /home/wwb/* /usr/123     --复制wwb下的全部文件 到 123
	
9.删除文件
	rm [-f] 文件名   f:不提示(确定要删吗?),直接删
		
10.删除文件夹(以及内容)
	rm -rf 文件夹名      
	  
11.移动
	文件夹:mv 源目录 目标目录/
	文件:  mv 源文件 目标目录
	文件改名:mv 源文件 目标目录/改名的文件
	
12.通配符:
	*   匹配任意多个字符           例:ls -l /tmp/* 
	?   匹配任意单个字符           例:ls -l /tmp/f?.txt
	[]  匹配连续多个字符中的一个   例:ls -l /tmp/f[0-9].txt      [A-Z] [a-z]
	{}  匹配不连续多组字符         例:ls -l /tmp/f{1,12,a}.txt

13.查看文件的内容
	cat [-n] 文件名 : 显示内容,n:并显示行号,适合查看小文件
	more 文件名     : 分屏显示,适合查看大文件,空格翻屏
	less 文件名     :  更好用,上下键滚动
			   ?关键字:向前查找,/关键字:向后查找,按 q 退出
	head -n 2 文件名: 查看头几行 
	tail -n 3 文件名: 查看尾几行   * 不指定行号,默认10行

14.管道  |
	命令1 | 命令2 : 将命令1的输出结果,作为命令2的输入去执行(命令2就不需要参数了)
	
15.统计 wc
	wc -l 文件名 : 统计文件有多少行
	wc -l /etc/passwd : 统计当前系统有多少个用户


16.输出重定向 >
	eg: ls -l /root > /tmp/1.txt   --将命令执行的结果,写入到文件中。(文件不存在创建后写入,存在清空再写入)
	    ls -l /root >> /tmp/1.txt  --追加写入
	特殊用法:
		# > /tmp/abc.txt   --清空文件abc.txt
		
17.过滤:
	grep [选项] 关键字 目标文件 :输出包含指定字符的行
	      选项:  -i 忽略大小写
	             -v 取反(返回不满足条件的行)
		         --color 为关键字加颜色
	      关键字:  ^a   -- 以a开头
	               a$   -- 以a结尾
			       ^$   -- 匹配空行
			       -E   -- 匹配多个条件(或者关系)
	案例: 
		grep root /etc/passwd     --查找passwd中包含关键字root的行
	    grep -v root /etc/passwd  --查找passwd中不包含关键字root的行
	    grep -v '^#' /etc/passwd | grep -v '^$'     --查看去掉 注释 和 空行 后的内容(利用管道)
	    grep -vE '^#|^$' /etc/passwd                --同上(利用-E)

五、vim

vim 文本编辑器

1.命令模式:只能查看,不能编辑(默认的模式)
	vim /目录/文件   --文件存在就打开,不存在就创建并打开
	--光标行内跳转: ^ --行首   $ --行尾
	--光标行间跳转: 1G --头    G --尾    nG --到第n行
	--翻页:pgup ,pgdn
	--复制:yy  --复制当前光标所在行
		   nyy --复制当前光标往下n行
	--粘贴: p   --光标所在处插入
	--删除:x   --删除光标所在的字符
		   d^  --删除光标到行首
		   d$  --删除光标到行尾
		   dd  --删除光标所在行
		   ndd --删除光标往下的n行
		   
2.输入模式:可以编辑修改
	进入命令模式后,输入 i,o 就进入输入模式
	i:在当前光标处插入字符
	o:在当前行下添加一行空行
	--编辑完成后,返回命令模式: esc 键
	
3.末行模式:保存退出
	进入命令模式后,输入 如下
		:  --保存并退出
		:w  --保存
		:q  --退出
		:wq  --保存并退出
		:x   --保存并退出
		:##! --强制执行,例: :q! 强制退出
		:w /目录/文件  --另存为到指定的文件中
		:r /目录/文件  --将指定的文件内容读进来
		:!命令         --可以不退出编辑器就能执行命令
	--字符串的查找
		/ww   --向下查找字符串“ww”
		?ww   --向上查找字符串“ww”
		n/N   --跳至下一个/上一个找到的字符串
	--字符串查找替换
		:s/old/new    --替换光标坐在行第一个old为new
		:s/old/new/g  --替换光标坐在所有的old为new
		:n,m s/old/new    --替换n-m行的第一个old为new
		:n,m s/old/new/g  --替换n-m行的所有的old为new
		:%s/old/new       --替换整个文档每一行的第一个old为new
		:%s/old/new/gc    --替换整个文档的old为new,c的作用是替换前提示
	--撤销
		u/U    --撤销最近一次编辑/撤销当前行的编辑
	    ctrl+r --反撤销(取消前一次的操作)
	
	--显示/取消行号   :set nu/nonu   
	--高亮显示        :syntax on/off  默认开启
	--查询结果高亮    :set hls/onhls  默认开启
	--自动缩进        :set autoindent/on autoindent
	--编辑完成后,返回命令模式: esc 键

4.如果想永久打开行号,命令行下输入:
	# vim ~/.vimrc
	  i
	  set nu
	  :wq	

六、网络设置

1.查看ip
	ifconfig 网卡名  
	ifconfig 网卡名 ip地址    --设置临时ip(重启失效)
2.永久配置ip
	#vim /etc/sysconfig/network-scripts/网卡名
	DEVICE=eth0               #设备名
	HWADDR=00:0C:29:88:97:B6  #mac地址
	TYPE=Ethernet             #以太网类型
	UUID=c45ea00a-d9b2-4606-a735-dc3b5a 7a99d3  #唯一标示
	ONBOOT=no                 #当前文件是否可以使用,no--系统启动的时候不加载,yes--加载
	NM_CONTROLLED=yes         
	BOOTPROTO=dhcp            #获取ip地址的方式,dhcp--自动获取,none/static--都表示手动配置
	IPADDR=           #ip 
	NETMASK=          #子网掩码
	GATEWAY=          #默认网关
	DNS1=             #dns  --dns还可以在 /etc/resolv.conf 中设置
	DNS2=
	
3.关闭防火墙
	1.临时命令
		# iptables -L    //查看防火墙
		# iptables -F    //关闭防火墙
	2.永久关闭防火墙
		# chkconfig iptables off     //让防火墙服务不随系统的启动而启动
		# /etc/init.d/iptables save  //将当前防火墙状态保存
		# service iptables save      //保存防火墙设置的另一种方式,效果同上
	3.关闭 selinux 
		# vim /etc/sysconfig/selinux
		将文件中的
			SELINUX=enforcing  改为  SELINUX=disabled
		更改后重启生效。

		--临时更改:setenforce 0
4.网络参数查看
	1.netstat -anptu               //查看网络链接
	2.netstat -ln | grep :端口      //查看指定端口是否被开启
	3.netstat -tulnp | grep 服务名  //查看指定服务所监听的端口
	4.nslookup                     //域名解析
	5.vim /etc/sysconfig/network   //查看当前主机名
	    HOSTNAME=xxxxx             //如果想改,更改HOSTNAME即可(reboot生效)
	6.hostname 主机名              //临时修改主机名的方法
	7.vim /etc/hosts              //主机映射文件:记录主机名和ip的映射关系
	    windows中的文件位置是:C:\Windows\System32\drivers\etc\hosts
	8.常见端口
		 服务       协议    端口
 		web服务     tcp      80
		telnet服务  tcp      23
		ssh         tcp      22
		ftp         tcp      20/21
		smtp        tcp      25
		pop4        tcp      110
		imap        tcp      143
		dns         tcp/udp  53
	   # vim /etc/services    记录服务与端口的信息的文件

七、压缩和解压缩

1.操作单个文件   --对现有文件直接操作,操作后,原文件被更改
	1.gzip 
	    压缩:
	        gzip /目录/1.txt    --压缩后在原目录下生成 1.txt.gz 的文件
	    解压:
			gzip -d /目录/1.txt.gz

	2.bzip2
		用法一样,压缩效率更高,压得更小

2.目录打包  --打包不是压缩  
	 tar -c           --打包
	     -x           --解包
	     -f           --必须要
	     -C           --指定解包位置
	     -v           --输出信息
	     -z           --调用gzip压缩
	     -j           --调用bzip2压缩

	例:
	   打包:tar -cvf /tmp/111.tar /tmp/111     --将111打包为111.tar
	   解包:tar -xvf /tmp/111.tar -C /opt/     --将111.tar解压到opt下
	打包并压缩:
		tar -zcvf /tmp/111.tar.gz /tmp/111
	解包并解压:
		tar -zxvf /tmp/111.tar -C /opt/

八、环境变量

1.查看PATH
	echo $PATH        --查看变量值:echo 变量名
	
2.修改PATH
	PATH=$PATH:/路径/         --临时修改
	vim /root/.bash_profile   --永久更改
	  ...
	source /root/.bash_profile --立即生效

3.which 根据PATH的路径去查找
	例如: which shutdown  返回:/sbin/shutdown

九、SSH

Linux远程访问 - SSH

前提:telnet 远程访问 是明文的
      SSH 远程访问 是加密的(Linux默认安装了SSH,直接用)
1.Linux中访问另一台Linux
	ssh root@176.202.0.152   
	   或者:ssh -l root 176.202.0.152 
	        ssh -p 8431 root@176.202.0.152  --端口不是默认的22时使用
	# 提示是否保存会话:y/n
	# 等待一会儿
	# 输入密码,即可连接成功
	# exit   退出

	修改ssh默认端口: 
		vim /etc/ssh/sshd_config
	  	...
	  	Port 8431  (默认22)
	    重启服务:service sshd restart
	    
2.远程拷贝:scp
	拷贝文件:
	   上传:scp /源目录/源文件 root@ip:/目标目录/          --默认22端口
	   下载:scp root@ip:/目标目录/目标文件 /本地目录/
	   * 如果端口改了:
		scp /源目录/源文件 root@ip:/目标目录/         
		scp -P 8321 root@ip:/目标目录/目标文件 /本地目录/
	
	拷贝目录:
		上传:scp -r /本地目录 root@ip:/目标目录/
		下载:scp -r root@ip:/目标目录 /本地目录/

十、权限

1.用户分类
		1.超级管理员 root           uid = 0          root的家目录:/root
		2.普通用户                  uid >= 500       普通用户的家目录:/home/XXX
		3.系统用户--不是人为创建的    uid 1~499
		
2.不同文件保存账户不同信息
	1.保存账户基本信息的文件
	   /etc/passwd   --每个用户记录一行,用:分割为7段
	2.保存账户密码信息的文件
	   /etc/shadow   --每个用户记录一行,用:分割为9段
	   1.创建用户:
		useradd [选项]
			  -u  指定uid
			  -d  指定家目录
			  -s  指定使用的shell
			  -e  指定过期时间
			  -g  指定主组(只有一个),没有指定时,默认新建一个跟用户名一样的组
			  -G  指定附加组(可以多个)
		例:useradd 用户名                   --创建用户
		    useradd -d /opt/stu01/ 用户名    --创建用户并指定家目录
	   2.为指定账户设置密码    密码文件:/etc/passwd
		passwd [选项]
		passwd             --为当前用户更改密码
		passwd 账户名      --设置指定用户的密码
		passwd -d 账户名   --清空密码,无密码直接登录
		passwd -S 账户名   --查看是否被锁定
		passwd -l 账户名   --锁定,用户无法登陆
		passwd -u 账户名   --解锁
		passwd --stdin 账户名  --通过管道设置密码,和管道 | 联合使用
				          例:echo "123" | #passwd --stdin 账户名 
	   3.更改现有用户属性
		usermod -u [账户名] -g [] -d [家目录] -s [指定使用的shell]     
	   4.删除用户
		 userdel -r 用户名     -r:连同主目录一些删除 [可选]
		 
3.组别
	1./etc/group     组的账户文件
	2./etc/gshadow   组的密码文件
	3.创建组
		groupadd 组名
	4.删除组
		groupdel 组名
		
4.命令别名
	vim ~/.bashrc
	... 
	alias myls='ls -lh'    --执行myls等价于 ls -lh

5.权限(3个)-- 用户,用户组,其他人
	可读取:-read   4
	可写入:-write  2
	可执行:-excute 1
	
	归属关系:
		--所有者: -user
		--所属组: -group
		--其他用户:-other
		--所有用户:-all
	查看权限:ls -l 
---------------------------------------------
更改权限:
方式1: 数字方式
	chmod  数字 文件或目录             *文件时 -R,递归设置

	数字:user      group     other
	      r w x     r - x     r - x
	      4 2 1     4 0 1     4 0 1
		  7         5         5
	例子:
		sudo chmod -R 777 文件夹
方式2:
	u:用户,g:组,o:其他人
	+:增加权限
	-:减小权限
	=:设置成指定的权限
	例子:
	sudo chmod u+rwx,g=r,o-rwx  文件名    #该文件用户可读写执行,组只读,其他人什么也不能做 


-----------------------------
更改文件夹所属用户和组:
	chown -R 用户:组 文件或目录       *文件夹用 -R
	chown -R 用户 文件         --只更改文件所属用户
		
更改文件所属组:
	chgrp 组名 文件


切换用户:su 用户名
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值