首页 > 代码库 > linux基础

linux基础

uname  查看内核


hostname  查看主机名称

快捷键:ctrl+d退出会话  ctrl+a 光标移动到最前  ctrl+e光标移动到最后

shutdown -r now(root用户使用相当于reboot     重启

shutdown -h 10(14:00)   10分钟后关机(在14点时关机)

   -c取消关机

shutdown -k  发送警告信号给登陆者  后接提示几分钟后关机接管理员需要发送的消息   例:shutdown -k 5 "qingdajiabaocunwenjia"  提示五分钟后关机,请大家保存文件

poweroff (halt) 关机



普通用户只能在temp下和自己的家目录下添加文件,特殊权限也不可以,比如关机等。



awk 一种过滤性语言  三剑客老大

awk ‘{print$1}‘ test.txt        $1代表第一列   test.txt代表文件

awk -F ":"‘{print$1}‘ /root/test    -F指定分隔符  ":"为分隔符 /root/test文件地址  $NF代表最后一行


sed linux三剑客老二    

输出文件的全部内容 -n取消输出全部

例如:取一个文件的20-30行

sed -n ‘20,30p‘  test.txt

sed -i ‘s#123#456#g‘ test.txt  sed的替换作用 前面两个#之间放原来的内容,后面的两个#自己想放的内容  最后跟上文件路径文件名称 



grep     三剑客老三  起一个过滤的作用

-i  不区分大小写  -e 过滤多个字符串 -v排除字符串

例如:grep "test" test.txt     过滤test。txt中包含test的字符串


mkdir  创建目录,例如:mkdir /test


cd 切换路径,例如:cd /


touch(触摸)  创建文件  例如:touch tset.txt


vi 编辑器 类似记事本 例如: vi test.txt  然后按i开始编辑,编辑好按esc键退出编辑模式,1、输入:q 退出 2、输出:wq保存退出 3、输出:q!强制退出  4、:w!强制保存  5 :wq!强制保存退出。  

直接输入行号gg就可以到相对应的行  例如:98gg   就可以到98行

属于yy是复制,输入p是粘贴

vim 超级文本编辑器

visudo=vi /etc/sudoer  编辑sudo

在第98行进行文件的复制,然后将复制的文件的用户(第一列)改成你想富裕权限的用户,多个用户中间以逗号隔开。将权限(第三列)改为命令所在的路径,就表示给普通用户以路径所在命令的权限,多个权限中间以逗号隔开。用户在进行命令操作时前必须加sudo

vi /etc/motd 造成一个假的版本号和提示信息。



echo 打印输出命令  例如:echo test

     echo "test" >test.txt


cat 查看文件内容  cat test.txt    

    特殊用法:增加内容

     例如 :cat >>/data/test.txt<<EOF

     test 

      EOF    EOF必须成对出现,EOF可以被替换

     >    数据重定向,覆盖之前的内容  >>追加内容  

     箭头的方向就是数据的流向

cat /etc/issue 查看版本号   

> /etc/issue  清空版本号

cat /dev/null > /etc/issue   把空的追加到版本号所在的文件夹


cp 拷贝文件  后边跟上需要拷贝的文件加拷贝到的路径  例如:cp /test.txt /test/   cp -f 强制复制

    拷贝目录 -a 相当于-pdr  -p保持属性 -r递归,复制目录

pwd 显示当前所在位置


mv 移动目录 例如:mv /test /root/  mv后跟需要移动的目录或者文件加移动到的路径


ls 显示目录列表  -l显示长格式  -d显示目录


man 帮助  例如man ls


mkdir -p  依次创建目录  例如 mkdir -p /root/data/test (首先创建root然后data然后test)


yum linux下的包管理器   类似于rpm          

-i(install  安装)  rpm的缺点:依赖问题,比如装a必须先装b      yum 需要安装的会提前装好

yum update 更新所有版本到最新系统(不能在线上环境运行,会导致用户数据丢失)

yum install tree 安装tree包 -y 直接运行不再询问

 


alias 别名的查询 

例如cp命令 其实后面隐藏了一个-i的参数    

属于临时生效 系统重启后将失效  需要保存在特定位置(/etc/bashrc或者/etc/profiles)   生效source /etc/basgrc

例如:alias test1=‘echo "test2"‘  echo是命令 将需要打印的内容输出在屏幕上。


unlias 取消别名  例如 unalias test1



~代表用户的家目录   例如root用户 ~=/root/


seq=序列

例如:seq 5(打印1-5)

1

2

3

4

5

seq 2 5 (打印2-5)

2

3

4

5

seq 1 2 5(打印2-5中间的奇数 1代表奇数  2代表偶数)

3

5

seq -s指定分隔符

例如:seq -s "" 5

1=2=3=4=5




head  头部 去文件的前n行 例如取前三行 -3  


tail   尾巴 取文件的后n行  例如后三行 -3

-f     跟踪一个文件尾部的实时变化


setup  调整网卡   如果setup出现乱码  lang=en  

启动网卡  ifup  网卡的名字   例:ifup eth0

编辑网卡,启动时必须将网卡改为onboot=yes  cat /etc/sysconfig/network-scripts/ifcfg-eth0 


uname -a -m查看内核版本几位操作系统

hostname  查看主机名


history  查看历史操作记录

useradd 为系统添加用户 例如:useradd wu

userdel 删除用户

passwd wu  为wu账户添加密码   回复new passwd时输入新密码

 管理员后提示符为#  普通用户为$

whoami查看当前登陆用户

提示符@前为用户,后为主机名,主机名后为当前所在路径

su - 切换当前的用户  例:su - root   -用来切换用户环境变量

logout 退出当前用户


关闭SElinux 类似于windows防火墙有用但是麻烦

 vi /etc/selinux/config     将selinux=enforcing改成disabled   查看修改后有没有生效 getenforce  如果是enforcing为未生效  立即生效为setenforce 0


init 切换模式  例如init 5 图形界面模式  一共有七种 runlevel  查看当时所在的模式



iptables -L -n 查看防火墙状态

/etc/init.d/iptables/ stop(start)   关闭(开启)防火墙

chkconfig 查看开机自启动的服务

find  查找   后接路径接类型名字   例如  find /root/data -type -name "test"  ("*.txt"   模糊查找,符合txt的类型)  !取非


date -s 更改时间 后接时间  例:date -s "2017-05-28 15:35"

clock -w 将更改写入cmos

ntpdate time.nist.gov  同步互联网时间  前面是命令后面跟时间服务器

cal显示日历


diff 两个文件作比较  例如:diff test1.txt  test2.txtS

vimdiff  高级比较  和diff使用方法一样  不同的会高亮显示出来



netstat -lntup|grep sshd  查看名为sshd的服务的端口号


which 查看命令所在的路径  例如which cp

字符集:

[root@root ~]# cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"        //查看字符集的编码

[root@root ~]# sed -i ‘s#LANG="en_us.UTF-8"#LANG=zh_CN.UTF-8#g‘ /etc/sysconfig/i18n    //使用sed命令将原来的字符集改成想要的字符集 后面加字符集的路径

[root@root ~]# echo $LANG

en_US.UTF-8            //打印字符集   发现还是原来的字符集

[root@root ~]# source /etc/sysconfig/i18n    //使用source命令使更改后的变量立即生效

客户端crt也得改,选项-会话选项-外观-字符编码-utf-8


export TMOUT=0  为crt设置超时时间=10为10s

[root@root ~]# echo "export TMOUT=300" >>/etc/profile   //追加超时时间300s到永久生效文件夹下

[root@root ~]# tail -1 /etc/profile     //查看是否追加成功

export TMOUT=300  

[root@root ~]# source /etc/profile        //设置立即生效

[root@root ~]# echo $TMOUT           //查看TMOUT变量是否生效

300



ulimit -n 查看文件描述符

ulimit -n 65535  更改文件描述符为65535


chattr +i /etc/shadow  锁定创建用户的文件

chattr -i /etc/shadow  锁定创建用户的文件


cd /etc/yum.repos.d/     进入原镜像路径

cat CentOS-Base.repo > CentOS-Base.repo.2017  备份原镜像文件

首先进入http://mirrors.aliyun.com/网站,然后找到centos 点help后找到centos6复制后面的文字 

wget -O /etc/yum.repos.d/CentOS-Base.repo http://



mirrors.aliyun.com/repo/Centos-6.repo    从阿里云网站下载centos6的镜像


less 查看文件,可以按行查看


mount 挂载  例如: mount /dev/sda1 /etc   将磁盘1挂载在etc下


目录层次标准(FHS)

/dev                        //设备目录

/etc                       //系统配置 启动命令

/proc                      //显示内核等虚拟信息

/tmp                       //临时文件目录

/home                     //普通用户的家目录

/    (/root)              //根目录 

/var                      //变化的目录,日志、cache

/usr                      //用户程序,数据

/bin  /sbin  /usr/sbin    //用户命令的目录

cat /proc/meminfo   //  查看内存信息

cat /proc/cpuinfo   //查看cpu信息

cat /proc/mounts    //查看挂载信息。 

cat /proc/loadavg    //查看负载


本文出自 “蜗牛” 博客,请务必保留此出处http://919250571.blog.51cto.com/9793737/1934053

linux基础