Linux常用操作详解

时间:2023-03-15 13:40:44

第1章 Linux命令基础

1.1 习惯

操作前备份,操作后检查

1.2 简单目录结构

一切从根开始,与windows不同

1.3 规则

[root@znix ~]#
[用户名@主机名 你在哪]#

1.4 重定向符号

特殊符号-重定向符号:泼水

1.4.1 输出重定向

>或1>   标准输出重定向:

先把原文件的内容清空,然后把新的内容放到文件中

>>或1>> 追加输出重定向:

把前面输出的东西输入到后边的文件中,不会清除文件原有内容,只是追加到文件的最后一行

[root@znix ~]# echo clsnedu.com >>clsn.txt
[root@znix ~]# cat clsn.txt
clsnedu.com
[root@znix ~]# echo clsnedu.cn >clsn.txt
[root@znix ~]# cat clsn.txt
clsnedu.cn

2>>  错误追加输出重定向

把命令执行错误的信息追加存放在文件中

2>   错误输出重定向

先把原文件的内容清空,然后把错误信息放到文件中

[root@znix ~]# echa clsnedu.com 2>>clsn.txt

[root@znix ~]# cat clsn.txt
clsnedu.com
-bash: echa: command not found

把错误的内容和正确的信息都放在一个文件中.

[root@znix ~]# echo clsnedu.com   >>clsn.txt  2>>clsn.txt
[root@znix ~]# cat clsn.txt
clsnedu.com
-bash: echa: command not found
clsnedu.com

错误信息:

[root@znix ~]# cho clsnedu.com   >>clsn.txt  2>>clsn.txt
[root@znix ~]# cat clsn.txt
clsnedu.com
-bash: echa: command not found
clsnedu.com
-bash: cho: command not found

简写方式:

[root@znix ~]# cho clsnedu.com   >>clsn.txt  2>&1
[root@znix ~]# cho clsnedu.com &>clsn.txt

1.4.2 输入重定向

<或0< 输入重定向

输入重定向重定向用于改变命令的输入。

当前仅与xargs联用

实例1-1

[root@znix ~]# cat /data/clsn.txt
1 2 3 4 5
[root@znix ~]# xargs -n2 </data/clsn.txt
1 2
3 4
5

<<   追加输入重定向

使用到的地方不多,目前与cat 一起使用。

实例1-2

[root@znix ~]# cat >>/data/clsn.txt<<EOF
I
am
sudent
> EOF

1.5 别名

别名  ==  小名

1、为了省事

2、防止犯错 给危险的linux命令加上别名

1.5.1 查询别名的方法

使用alias命令可以查看系统中都有哪些别名。

[root@znix ~]# alias rm cp mv
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

1.5.2 别名格式

别名时命令的别名,只能给一条命令设置别名。

1.5.3 给rm设置别名

①临时设置

直接在命令行中添加别名,这个别名只能临时使用,断开连接后失效。

[root@znix ~]# alias mv='echo bieyong rm'
[root@znix ~]# alias rm
alias mv='echo bieyong rm'

②永久设置

a)      把别名放到/etc/profile 文件最后一行中去,(全局使用),所有用户都可以使用。

[root@znix ~]# tail -1 /etc/profile
alias rm='echo bieyong rm'

b)      修改 ~/.bachrc 文件,仅对当前用户设置 别名,对其他用户没有作用。

[root@znix ~]# vim  .bashrc

c)      让修改的配置文件生效

使用source命令,使配置文件生效。

[root@znix ~]# source /etc/profile
[root@znix ~]# alias rm
alias rm='echo bieyong rm'

1.5.4 查看

1.5.5 临时取消别名的方法

1)     \  转义符

[root@znix ~]# \cp /mnt/test.txt /tmp/

2)     使用命令的绝对路径

查询命令的绝对路径使用which命令

[root@znix ~]# which cp
alias cp='cp -i'
/bin/cp

#使用方法

[root@znix ~]# /bin/cp /mnt/test.txt /tmp/ 

1.6 相对路径与绝对路径

绝对路径, 只要是以根(/)开始的路径/位置 就是绝对路径.

 /data
/tmp
/etc/sysconfig/network-scripts/ifcfg-eth0

相对路径, 路径的最前面 没有 /, 不是以根开始的路径.

 etc/hosts
etc/sysconfig/network-scripts/ifcfg-eth0

1.6.1 切换当前路径

[root@znix ~]# cd /data/
[root@znix data]# cd /tmp/

1.6.2 显示当前所在位置

[root@znix data]# pwd
/data

1.1 查看Linux版本

1.1.1 系统版本

[root@znix ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)

1.1.2 内核版本

[root@znix ~]# uname -r
2.6.32-696.el6.x86_64

1.1.3 系统架构

[root@znix ~]# uname -m
x86_64

1.2 添加用户、设置密码

1.2.1 添加用户

[root@znix ~]# useradd clsn

1.2.2 设置密码

[root@znix ~]# passwd clsn
Changing password for user clsn. ###修改clsn用户密码
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple ###密码太简单
Retype new password:
passwd: all authentication tokens updated successfully(成功).

1.3 切换用户

1.3.1 使用这个用户 切换用户

[root@znix ~]# su - clsn

1.3.2 显示你是谁?

[clsn@znix ~]$ whoami
clsn

1.4 su 与su- 的区别

su只是切换了root身份,但Shell环境仍然是普通用户的Shell

su-连用户和Shell环境一起切换成root身份了。

只有切换了Shell环境才不会出现PATH环境变量错误。

su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

1.5 关闭selinux

1.5.1 永久生效

修改配置文件: /etc/selinux/config的

[root@znix ~]# vim /etc/selinux/config

/etc/selinux/config 文档内容含义:

#enforcing     selinux默认状态 selinux已经开启,正在运行

#permissive    selinux临时关闭,显示警告

#disabled      selinux彻底关闭

使用sed命令对/etc/selinux/conifg 文件进行修改

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

让配置文件的修改生效,使用source命令

[root@znix ~]# source /etc/selinux/config

永久修改的配置生效需要重启服务器。

使用的服务器不可以随意重启!

1.5.2 临时关闭

使用getenforce 命令查看selinux的

[root@znix ~]# getenforce
Enforcing(正在运行)

使用setenforce 命令修改selinux配置临时关闭selinux。

[root@znix ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ] [root@znix ~]# setenforce 0
[root@znix ~]# getenforce
Permissive(临时关闭)

1.6 关闭防火墙

1.6.1 临时关闭

1)         查询防火墙是否正在运行

[root@znix ~]# /etc/init.d/iptables status

2)         关闭防火墙

a)      一般需要关两次,确保完全关闭。

[root@znix ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ] [root@znix ~]# /etc/init.d/iptables stop

3)         检查一下是否关闭

[root@znix ~]# /etc/init.d/iptables status
iptables: Firewall is not running.

1.6.2 永久关闭

确保开机防火墙不再启动

在chkconfig中查找iptables 的行,看他的状态。on是开,off是关。

[root@znix ~]# chkconfig|grep "ipta"
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off

使用chkconfig的命令关闭iptables

[root@znix ~]# chkconfig iptables off

检查一下是否关闭了。

[root@znix ~]# chkconfig|grep "ipta"
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off

1.7 显示乱码解决

1.7.1 查看linux系统字符集

[root@znix ~]# echo $LANG
en_US.UTF-8

1.7.2 查看远程软件的字符集

连接软件的字符集是否与系统的一致

1.7.3 乱码解决办法

1)         linux系统字符集修改

a)      使用export 对变量进行修改

[root@znix ~]# export LANG=en_US.utf8
[root@znix ~]# echo $LANG
en_US.utf8

b)修改配置文件,将/etc/sysconfig/i18n修改为utf-8字符集。

[root@znix ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

c)使用source或. /etc/sysconfig/i18n  让配置生效

[root@znix ~]# source /etc/sysconfig/i18n
[root@znix ~]# . /etc/sysconfig/i18n