Linux(一)

linux命令总结-1
linux基础

文件(夹)操作

  • mkdir 创建文件夹,-p如果路径中有不存在的则会创建
  • rmdir 删除空文件夹
  • mv 移动(重命名)文件或文件夹
  • rm 删除文件,删除文件夹-r,强制-f
  • cp 复制文件,复制文件夹-r

vi(vim)

  • 进入后为命令模式,i切换插入模式,ESC返回命令模式,在命令行模式下按下shift + :进入末行模式
  • vi打开一个不存在的文件,如果没往里写,最终不会创建文件
  • 末行模式q退出,q!强制退出
  • 末行模式wq保存后退出,wq!强制保存后退出
  • 末行模式set nuset nonu显示和取消行号
  • 末行模式n回到第n行首列
  • 命令模式gg回到首行首列,shift + g回到末行首列
  • 命令模式yy复制当前行,5yy复制当前行开始后的5行,p 在当前位置粘贴
  • 命令模式dd删除当前行,5dd删除当前行开始后的5行
  • 命令模式u撤销上一步
  • Home键回到行首,End键回到行末

cat

  • cat file 输出文件内容,-n显示行号
  • tac file 反向顺序输出
  • tail -n file 输出文件末尾n行,默认10行
  • head -n file输出文件前n行,默认10行
  • cat file1 > file2,将file1的内容覆盖file2;cat file1 >> file2,将file1追加在file2末尾
  • cat > file 覆盖file的内容,file不存在则创建;cat >> file 往file追加内容,ctrl + d结束,cat > file << '00'指定结束符;cat > file1 < file2 将file2的内容覆盖file1

echo

  • echo "hello" > file 用hello覆盖file;echo "hello" >>file,在file末尾追加hello

touch

  • touch file1 file2 创建文件

file

  • file file-name 判断文件类型

wc(wordcount) 统计

wc -l file统计行数
wc -w file统计单词数
wc -c file统计字符数

du 统计文件大小

du -h file人性化地显示单位

more和less

查看文件(分页查看)

visudo

编辑/etc/sudoers文件,给某个用户sudo权限

/etc/inittab

image.png

/etc/passwd

用户信息文件,格式如下
管理员用户只有一个:UID=0的用户就是管理员用户,一般情况下,默认它的用户就是root,家目录:/root
root :x :0 :0 :root :/root :/bin/bash
用户名 密码 uid gid 组名 家目录 所用的shell

grep 正则匹配

  • 文件内搜索
    grep keyword file在文件内搜索关键字

用户

  • useradd username添加用户
  • passwd username给用户设置密码
  • userdel -r username删除用户并删除其家目录
  • groupdel groupname删除用户组

su 切换用户

su - username切换到username,普通用户切换到root用户需要输入root的密码,root切换到普通用户不需要密码,exit退出回到之前的用户

权限

Linux中用户的分类
所有者(u) 同组用户(g) 其他人(o) 所有人(a)
Linux中文件权限
读(r,4) 写(w,2) 执行(x,1) 没有权限(-,0)
文件权限详情格式(ll命令显示的那种)
文件类型(-普通文件,d目录文件,l链接文件),文件权限,文件链接个数,文件所有者,文件所属组,文件大小,文件创建时间或最后修改时间,文件名
chmod修改文件权限,chown修改文件所属

chown    username:groupName    file
chown    :groupName    file
chown    username:    file

名字

  • hostname显示主机名
  • uname显示unix name

who

who 显示已登录的用户
whoami显示当前用户

网络

  • ifconfig类似于Windows下的ipconfig
  • route查看路由信息
  • traceroute路由跟踪,类似于Windows下的tracert
  • iptables防火墙
  • iw无线网相关(机器需要有无线网卡和对应的网卡驱动)
  • ip

服务

service s_name start|stop|status|restart|reload(reload为重新载入配置)

chkconfig 开机启动项

chkconfig --list列出开机启动项,0-6代表的是各个runlevel

image.png

chkconfig s_name --list列出s_name的开机启动设置,s_name为chkconfig --list里面的一项

  • chkconfig s_name on/off设置该项是够开机启动

netstat 端口管理

-a列举所有的连接,服务监听等。
-t列举tcp协议的服务
-u列举udp协议的服务

ps

查看进程

  • kill -9 pid杀死进程

jobs

后台进程

前后台进程

当前进程就是前台进程

  • ctrl + c结束当前进程,ctrl + z暂停当前进程,并放到后台去
  • 在一条命令的后面加上&表示将此命令后台运行
  • fg从后台调一个到前台运行
  • bg从被暂停的进程中唤醒一个运行,在后台运行

管道符|

连接多条命令,上一条命令的输出作为下一条命令的输入

xargs

给命令传递参数

gzip(或zip(zip和unzip))压缩与解压

后缀为.gz,压缩后原文件没了,不能对文件夹压缩

  • gzip file压缩
  • gunzip file.gz解压

bzip2压缩与解压

后缀为.bz2,适合压缩比较大的文件,压缩后原文件没了,不能对文件夹压缩

  • bzip2 file压缩
  • bunzip2 file.bz2解压

tar

后缀为.tar,将多个文件或文件夹打包成一个包

  • tar -zcvf file.tar source压缩source为file.tar
  • tar -zxvf source.tar -C targe解压到target目录

重启与关机

关机:haltorinit 0 orshutdown -h now
重启:rebootorinit 6orshutdown -r now

image.png

logout

注销

修改mac,ip,hostname

修改mac地址 vim /etc/udev/rules.d/70-persistent-net.rules
修改ip vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改hostnamevi /etc/sysconfig.network

rpm

redhat package manager

  • rpm -qa查询所有本机的rpm包
  • rpm -ivh xxx.rmp安装
  • rpm -e xxx卸载,--nodeps忽略依赖

yum

从仓库中安装

  • yum install xxx安装
  • yum remove xxx卸载

at 一次性定时任务

at 命令可以用来执行一次性任务,任务的命令是可以手工输入,也可以从文件读取


image.png

image.png

image.png

image.png

crontab 周期性定时任务

发出crontab -e命令后,会让选择一个编辑器,在里面每新增加一行,就多一个任务,每个任务 (每行) 的格式都是具有六个字段,这六个字段的意义分别为:
意义 分钟 小时 日期 月份 周 命令
范围 0-59 0-23 1-31 1-12 0-7 具体命令(周的0和7都代表周日)

另外,*代表全部,,隔开多个值,-代表一个时间段,/代表每隔固定时间,示例如下:
每年的12月31号,每个整点执行一次脚本/root/cron.sh:
0 * 31 12 * /root/cron.sh

每天的0点和12点整执行脚本/root/cron.sh
0 0,12 * * * /root/cron.sh

每周一到周五上午8点执行脚本/root/cron.sh
0 8 * * 1-5 /root/cron.sh

每隔5分钟执行一次脚本/root/cron.sh
*/5 * * * * /root/cron.sh
或者
0-59/5 * * * * /root/cron.sh
注意,不能同时指定周与日月,也就是说,如果指定了具体日期,就不要指定周几了;分钟这一栏,如果不希望每分钟一次,则一定要指定;如果为 *,则每分钟都要执行一次

文件目录

image.png

硬链接和软链接

硬链接和软链接

image.png

//创建硬链接
ln oldfile newfile
创建软链接
in -s oldfile newfile

我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。下图展示了程序通过文件名获取文件内容的过程。


image.png

在 Linux 系统中查看 inode 号可使用命令 stat 或 ls -i(若是 AIX 系统,则使用命令 istat)。使用命令 mv 移动并重命名文件后,其结果不影响文件的用户数据及inode号。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名(hard link 就是 file 的一个别名,他们有共同的 inode)。硬链接可由命令 link 或 ln 创建。
由于硬链接是有着相同 inode 号仅文件名不同的文件,因此硬链接存在以下几点特性:

  • 文件有相同的 inode 及 data block;
  • 只能对已存在的文件进行创建;
  • 不能交叉文件系统进行硬链接的创建;
  • 不能对目录进行创建,只可对文件创建;
  • 删除一个硬链接文件并不影响其他有相同 inode 号的文件。
    软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 inode 号以及用户数据块。因此软链接的创建与使用没有类似硬链接的诸多限制:
  • 软链接有自己的文件属性及权限等;
  • 可对不存在的文件或目录创建软链接;
  • 软链接可交叉文件系统;
  • 软链接可对文件或目录创建;
  • 创建软链接时,链接计数 i_nlink 不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相- - 关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容