Linux命令行

Linux命令行

1.Linux基本知识

  • linux主要特征 :一切且文件(目录、硬盘等都是文件);硬件都在/dev 目录,如硬盘、U盘为/dev/sd[a-d]; /dev/sr0(/dev/cdrom)是光驱的设备名(df命令查看),为设备文件,代表的是光驱本身,得把这个设备挂载到目录下(一般为/mnt)(文件系统的临时挂载点),才能对设备上的文件进行读写等操作;

  • 不懂的命令 :man 命令(查用法、全称),只记得关键词,可用man -k 关键词;

  • Linux命令常用结构 :Command [-option] [argument]

  • Command:即是要运行的命令的本身,说白了就是一个软件(程序);

  • Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如df -hT);

  • Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;

  • 在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择,在非第一部分按[tab]键两下为[文件补全];

  • linux命令区分大小写;

2.开关机

  • shutdown -r now:立即重启
  • shutdown -h now:立即关机
  • shutdown -h 20:00 :预定时间关闭系统(晚上8点关机,如果现在超过8点,则明晚8点)
  • shutdown -h +10 :预定时间关闭系统(10分钟后关机)
  • shutdown -c :取消按预定时间关闭系统

3.系统信息

  • date :显示系统日期 (date +%Y/%m/%d : 显示效果如2018/01/01)
  • clear:清空命令行
  • ifconfig:显示网卡、ip等信息
  • ping 网址:测试本机与目标网址的联通情况
  • cat /proc/cpuinfo :显示CPU的信息
  • cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l :查看物理CPU个数
  • cat /proc/cpuinfo| grep “cpu cores”| uniq :查看每个物理CPU的核数
  • cat /proc/cpuinfo| grep “processor”| wc -l :查看逻辑CPU个数即线程数

4.系统性能

  • top:动态实时显示cpu、内存、进程等使用情况(类似windows下的任务管理器)
  • free -h :查看系统内存及虚拟内存使用情况
  • df -h :显示磁盘的空间使用情况
  • iostat :可查io读写、cpu使用情况
  • ps aux|grep firefox :获取火狐的进程号(PID)(可查看进程占用cpu、- 内存百分比及进程触发指令的路径)
  • kill -9 进程号 :强制杀死进程

5.文件系统中的命令

文件和目录操作
  • pwd:打印当前工作目录名
  • cd:更改目录
  • ls:列出目录内容
  • less:浏览文件内容
  • mkdir:创建文件夹
  • touch:创建文件
  • rm:删除文件(-r)
  • mv:移动文件
  • cp:复制文件
  • grep : 打印匹配行
  • cat:连接文件
  • split:分割文件
    ‘.’:一个点号代表当前的工作路径。
    “..”:两个点号代表当前工作路径的父目录。
    -l:表示列出详细信息
ls常用的选项有:
短选项长选项说明
-a–all列出所有文件,包括隐藏文件
-d–directory把这个选项与-l选项结合使用,可以看到目录的信息,而不是目录里面内容的信息
-F–classify该选项会在每个所里出的名字后面加一个指示符,如果是目录名,就添加一个’/’
-h–human-readable以长格式列出,以人们可读的格式而不是字节数来显示文件的大小
-l以长格式显示结果
-r–reverse以相反的顺序显示结果,默认按照字母升序排列
-S命令输出结果按照大小排序
-l按照修改时间来排序
关于文件名的重要规则:
1、以.字符开头的文件名是隐藏文件,ls命令不能列出他们,除非使用ls -a命令。
2、文件名和命令名对大小写敏感
3、linux没有文件扩展名的概念
4、文件名中可以使用的标点符号仅限于“.”,“-”,“_”。最好不要在文件名中使用空格,尽量用下划线代替。
通配符

shell提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。shell中使用的通配符有:

通配符意义
*匹配任意多个字符
匹配任意一个字符
[characters]匹配任一一个属于字符集中的字符
[!characters]匹配任意一个不是字符集中的字符
[[:class:]]匹配任意一个属于指定字符类中的字符

我们常用的字符类有:

字符类意义
[[:alnum:]]匹配任意一个字母或者数字
[[:alpha:]]匹配任意一个字母
[[:digit:]]匹配任意一个数字
[[:lower:]]匹配任意一个小写字母
[[:upper:]]匹配任意一个大写字母

下面给出一些类型匹配的范例:

模式匹配对象
*所有文件
g*所有以g开头的文件
b*.txt以b开头,以.txt结尾的文件
Data???以Data开头,后面紧接3个字符的文件
[abc]*以a,b或者c开头的文件
BACKUP.[0-9][0-9][0-9]以BACKUP.开头,由3个数字结尾的文件
[[:upper]]*以大写字母开头的文件
[![:digit]]*不以数字开头的文件
文件权限
  • chmod [-R] 777 文件或目录:修改文件或目录的权限
文件查找
  • locate a.txt:在全局范围内查找
  • find /home -mtime -2 :在/home下查最近2*24小时内改动过的文件
  • find . -size +100M :在当前目录及子目录下查找大于100M的文件
  • find . -type f :f表示文件类型为普通文件(b/d/c/p/l/f 分别为块设备、目-录、字符设备、管道、符号链接、普通文件)
  • find . -mtime +2 -exec rm {} ; :查出更改时间在2*24小时以前的文件并删除它
  • grep -i ‘HELLO’ . -r -n :在当前目录及子目录下查找文件内容中包含hello的文件并显示文件路径(-i表示忽略大小写)
  • which java :在环境变量$PATH设置的目录里查找符合条件的文件,并显示路径(查询运行文件所在路径)
  • whereis java :查看安装的软件的所有的文件路径(whereis 只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令)
查看文件的内容
  • cat[-n] 文件名:显示文件内容,连行号一起显示
  • less 文件名 :一页一页的显示文件内容(搜索翻页同man命令)
  • head [-n] 文件名 :显示文件头n行内容,n指定显示多少行
  • tail [-nf] 文件名:显示文件尾几行内容,n指定显示多少行,f用于实时追踪文件的所有更新,常用于查阅正在改变的日志文件(如tail -f -n 3 a.log 表示开始显示最后3行,并在文件更新时实时追加显示,没有-n默认10行)
文本处理
  • ls -l>file :输出重定向>(改变原来系统命令的默认执行方式):ls -l命令结果输出到file文件中,若存在,则覆盖
  • cat file1 >>file :输出重定向之cat命令结果输出追加到file文件(>表示覆盖原文件内容,>>表示追加内容)
  • ls fileno 2>file : 2>表示重定向标准错误输出(文件不存在,报错信息保存至file文件);
  • cowsay <a.txt :重定向标准输入’命令<文件’表示将文件做为命令的输入(为从文件读数据作为输入)
  • vim 文件:编辑查看文件(同vi)

6.用户与权限

  • useradd 用户名:创建用户
  • userdel -r 用户名:删除用户
  • usermod -g 组名 用户名:修改用户组
  • usermod -aG 组名 用户名:将用户添加到组
  • passwd [ludf] 用户名 :用户改自己密码,不需要输入用户名,选项-d:指定空口令,-l:禁用某用户,-u解禁某用户,-f:强迫用户下次登录时修改口令
  • groups 用户名:查看用户所在的组
  • groupadd 组名:创建用户组
  • groupdel 组名:删除组
  • groupmod -n 新组名 旧组名 :修改用户组名字
  • su - 用户名:完整的切换到一个用户环境(相当于登录)(建议用这个)(退出用户:exit)
  • sudo 命令 :以root的身份执行命令(输入用户自己的密码,而su为输入要切换用户的密码,普通用户需设置/etc/sudoers才可用sudo)

磁盘管理

  • df -h :显示磁盘的空间使用情况 及挂载点
  • mount /dev/sda1 /mnt :硬盘sda1挂载到/mnt目录(mount 装置文件名 挂载点)
  • umount /dev/sda1 :取消挂载(umount 装置文件名或挂载点)

压缩、解压及打包

  • file 文件名 :查文件类型(可看是用哪一种方式压缩的)

  • tar -zxvf a.tar.gz -C ./test :解压tar.gz到当前目录下的test目录

  • tar -zcvf /opt/c.tar.gz ./a/ :压缩tar.gz(把当前目录下的a目录及目录下所有文件压缩为 /opt/目录下的c.tar.gz,这样tar -zxvf c.tar.gz解压出来带有目录a)

  • tar -jxvf a.tar.bz2 :解压tar.bz2(到当前目录)

  • tar -jcvf c.tar.bz2 ./a/ :压缩tar.bz2(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.tar.gz2)

  • unzip a.zip :解压zip(到当前目录)

  • unzip -o mdmtest.war -d /opt/mdm :推荐使用unzip解压war包(-o覆盖原有文件,-d指定文件解压后存储的目录)

  • zip -r c.zip ./a/ :压缩zip(把当前目录下的a目录及目录下所有文件压缩到当前目录下为c.zip

  • bzip2 -k file1 : 压缩一个 ‘file1’ 的文件(-k表示保留源文件)(bzip2格式,比gzip好)

  • bzip2 -d -k file1.bz2 : 解压一个叫做 'file1.bz2’的文件

  • gzip file1 : 压缩一个叫做 'file1’的文件(gzip格式)(不能保留源文件)

  • gzip -9 file1 : 最大程度压缩

  • gzip -d file1.gz : 解压缩一个叫做 'file1’的文件

7.笔记

在本地用户下创建key:ssh-keygen -b 1024 -t rsa
添加key到目标服务器上:(1)进入cd ~/.ssh  (2)将key复制到 vi /root/.ssh/authorized_keys
复制文件:scp /root/install.* root@192.168.1.12:/usr/local/src
  • wc -l filename :统计文件行数
  • du -sh 目录:查看目录下总文件的大小
  • table补全:yum install -y bash-completion
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值