linux操作

linux操作常用 命令

文件管理命令:

ls /:查看根目录下的内容

cd /dev/:进入到dev目录下,再用ls就可以查看该目录下的文件

以 . 开头的是隐藏文件,ls -a可以查看该目录下隐藏文件

ctrl+L 或者 clear :清屏

ctrl+C 终止程序

当cd到一个目录下时,操作该目录下的文件,前面不用加/,加/说明是绝对路径,要从根目录开始算

cat +文件名 | more

文件以

  • -开头说明是个文件
  • d开头说明是个目录
  • l开头说明是链接文件

文件权限

  • r读权限
  • w写权限
  • x执行权限

当用touch创建时,创建的是个文件。ls-l出来的是 - 开头的

当用mkdir创建时,创建的是个目录。ls -l出来的时这个目录下的文件 只有用ls -ld查看才能看到目录信息,以 d 开头


ls

  • ls -a:显示全部文件
  • ls -l:文件详细信息 ls-lh人性化显示
  • ls -ld:显示目录信息而不是像上面的一样显示文件所包含子文件的信息,目录的详细信息
  • ls -i:显示文件id号码 i节点

mkdir创建目录

  • 例子:mkdir /tmp/first

  • 注意,这里要在已有的文件目录下面创建新目录,不可以mkdir /tmp/frist/second,因为frist都不存在,怎么能在一个不存在的目录下面创建新目录呢

    但是,可以使用-p选项来递归创建 mkdir -p /tmp/frist/second,这样就可以递归创建了。

cd命令 change directory,切换目录

  • cd /tmp/first 进入first目录下面
  • cd .. 返回上级目录

pwd命令 print working directory 显示当前目录

rmdir命令 remove directory 移除空目录,注意,只能是空目录,有东西的目录还是要用rm (-r -f)来实现

cp命令 copy 赋值文件

  • cp -rp [原文件或目录]【目标目录】
  • cp -r 用于复制目录(目录表示是个文件夹,里面含有别的文件)
  • cp -p 保留文件属性(保留文件的信息,使得在ls -l详细查看文件时候,可以保留文件的更改时间)

mv命令 剪切或改名

  • 剪切 :mv /tmp/one /root 把tmp下的one 剪切到 root目录下
  • 剪切并改名:mv /tmp/one /root/one2 名字改成one2
  • 只是改个名字: mv /tmp/one /tmp/two
  • 注意,当当前目录就在tmp目录下时,可以直接mv one two ,把tmp下顶one改名为two

rm命令 remove删除

  • rm -r /tmp/games 删除目录(文件夹)
  • rm -f /tmp/games 强制删除(不会问你却不确定)
  • rm -rf /tmp/frist 强制删除目录(且不会询问你却不确定呀)

touch命令 创建文件

  • touch 文件名 ,注意在当前路径下创建不用加/,如果要在别的文件下创建,就要写绝对路径

cat命令 显示文件内容

  • 语法:cat + 文件名
  • cat -n 显示行号,把每一行都显示一个对应的行号
  • cat /etc/issue cat -n /etc/services

tac命令,cat命令的死对手,把文件倒序显示 ,先显示最后几行

more命令,以分页的形式显示大文件内容

  • 空格键或f 一页一页向下翻
  • 回车键 一行一行向下翻
  • q键(quit)退出浏览

less命令 more命令的加强版

  • more里面的操作都相同
  • 键盘上的PgUp键,可以向上翻页,上箭头,向上一行行翻
  • /符号,查找类似于word里面的ctrl+F,搜索关键词。
  • n键表示next,类似于查找中的“查找下一个”

head命令 显示文件前几行

  • head -n 20 /etc/services 显示文件前20行,若不指定-n默认显示前十行

tail命令 显示文件末尾几行,很像上面的

  • tail -n 20 /etc/services

  • tail -f 动态显示文件内容,

    就是说,我打开这个文件后,当有别的人改动这个文件的时候,我可以看到文件的变化。

    主要用于监控服务器日志(他都被人干了啥)

touch cat cat -n tac more less head tail

ln命令(link) 生成链接文件

  • 语法:ln -s [源文件] 【目标文件】 -s表示生成软链接

    软链接文件,就相当于快捷方式。 文件类型为 lrwxrwxrwx,虽然对三种用户都有rwx权限,但也只代表用户对这个软链接的权限,真正的权限还是要看所链接文件的用户权限,

    当软链接ls -l(list)时,会在文件名后面显示出这个软连接所指向的文件

    issue.soft ->/etc/issue

    • lrwxrwxrwx
    • 有箭头 ->
  • 硬链接:ln (没有-s) ,生成出来的文件和原文件一模一样(大小也一模一样),与拷贝cp不同的是,两个文件会同步更新。原文件就算丢失,硬链接文件也可以访问。软链接就不行了。判断文件是不是硬链接,用ls -i(查看文件id)i节点,会发现,原文件的id和硬链接文件的id是一样的(一个id可以有两个文件,当系统进行读写操作的时候,根据id来选择文件进行操作,两个文件的id一样,所以就同步更新了),超级厉害呀。怪不得同步更新。软链接的文件id就不与源文件相同。

    • 实时同步的备份。
    • 不可以跨分区(无效的跨分区链接)软可以
    • 不可以针对目录使用,软可以

权限管理命令:

u 表示文件的所有者
g 表示一个组里的用户
o 表示其他人
r 读权限 ---4  
w 写权限 ---2
x 执行权限 ---1

对于file文件来说
r:cat/more/head/tail/less
w:vim
x:script command(脚本,命令)
对于directory目录来说
r:ls
w:touch/mkdir/rmdir/rm   (创建文件,创建目录,移除空目录,删除文件)
x:cd 进入目录
当目录有w权限时,便可以删除掉这个目录,即使目录下面的文件没有操作权限,也可以用rm一并连目录一起删掉,删除一个文件,需要对文件所在的目录有w权限。文件具有全部权限,但是文件所在的目录没有权限,那也不能对这个文件进行操作,目录权限才是老大。

useradd添加的用户信息在/home下面

chmod命令 change the permissions mode of a file 改变文件的权限模式

只有两个人才有权限改变文件权限,一个是u所有者,一个是管理员root

  • chmod {ugoa}{+-=}{rwx}[文件或目录]

    chmod u=rwx jan 把jan 这个文件的所有者u的权限改变成为rwx

  • 使用数字来代表twx chmod [mode=xxx] 文件路径

    chmod 640 jan 表示把jan这个文件权限改变为-rw-r—-

  • chmod -R 递归修改权限,改变目录下所有文件的权限

chown命令 change file ownership 改变文件或目录的所有者

只有 root 才有chown 权限,别的用户都没有

  • useradd 用户名 添加用户
  • chown 用户A 文件名 把文件的所有者变成用户A

chgrp命令 change group改编文件或目录的所有组,操作方法和chown一样

  • groundadd添加所有组

umask命令 the user filr-creation mask

  • umask -S 以rwx的形式显示新建文件的缺省权限,缺省创建的文件时不能有x可执行权限的,任何新建的文件都会把x可执行权限去掉
  • 直接umask表示的是新建文件权限的掩码,比方说出来0022,那么实际的缺省权限是777-022(后三位)=755–>rwxrw-rw-
  • 当需要改变新建文件的缺省权限时,比方说我要所有新建的文件都是rwxr–r–权限。首先计算出这个权限的数字表示–>744,再用777-744=033 ,在umask 033就可以了,这时候新建的文件缺省权限就是rwxr–r– ,但是注意,新建的文件还是没有x执行权限,新建的文件夹目录就可以有x权限,你怎么设置,目录mkdir上就是什么

文件搜索命令:

find命令 find. 表示在当前目录下

  • 语法 find 查找范围 查找条件

  • find / -name init 在/根目录下按照-name名字搜索 名字叫 init的文件,精准搜索,不是模糊搜索。想要模糊搜索,就把名字改为*init*表示模糊搜索

  • init*,表示已init开头的文件 。 init???表示已init 开头的文件且后面还有三个字母,严格区分大小写

  • find / -iname init 不区分大小写

  • find / -size 按照文件大小查找

    • find / -size +n表示大于n -n表示小于n =n表示等于n n在linux里面表示数据块
    • 1数据块=512字节=0.5kb 所以查找大于100MB
    • find / -size +204800
  • -user,按照用户名查找

    • find /home -user 用户名A ,找到/home下所有用户名为A的文件
  • 按照文件属性查找

    • -amin assess 按照访问时间 find /etc -amin -5 表示在五分钟内(-)被访问过的文件
    • -cmin change 按照文件属性 find /etc -cmin -30 表示30分钟内文件属性被改变的文件,文件属性就是在 ls -l查看文件时看到的
    • -mmin modify 按照文件内容 find /etc -mmin -60 表示查找60分钟内被改变的文件
  • -type 按照文件类型查找

    • f 文件 d目录 l软链接 find /etc -type f查找/etc下面文件(不是目录)
  • 条件链接

    • -a all 两个条件都吻合 详单与&&
    • -o other 只要有一个条件满足就好了 相当于||
    • find /etc -name init* -a -type f 表示在etc下查找以init开头的文件,且要求文件类型为-f(file不是目录,是文件)
  • 对查找到的文件执行相应操作

    • find /etc -name init -exec ls -l {} \;

    固定格式 -exec或者-ok 后面加命令 再后面加 {} \; -ok会一直询问你要不要执行相应的操作

    find /etc -name init* -a -type f -exec ls -l {} \;

  • -inum查找文件的i节点,多用于操作一些不好写名字的文件,在ls -l 时可以看到文件的i节点

    • find /etc -inum 31531 -exec rm {} \; 删掉i节点为31531的文件
    • 查找文件的硬链接

find -name =iname * ? -size + - -user -group -amin -cmin -mmin -type f d l -imun -a -o -exec/-ok{} \;

locate命令 快速查找文件

  • 所有的文件会被放到一个文件库中,不用全盘查找,可以达到秒搜效果。但是这个文件库不是立刻更新的而是定时更新,所以当touch /tmp/asd 创建一个asd文件后,马上用 locate asd 就找不到文件,还没有更新到文件库里面,要调用updatadb命令更新一下才能查找到
  • locate命令适用于查找系统文件,但是要查找放在/tmp下面的临时文件,是找不到的,不在文件库收录范围,
  • locate -i 不区分大小写搜索

which 命令 搜索命令所在目录及命令别名

  • which rm 对rm命令执行which 操作

    alias(别名) rm="re -i"
        /bin/rm

    就出现了rm的别名”re -i” ,和他的目录/bin/rm。

    注意在linux里是不会确认操作的,当我们用rm 命令时,其实是用”rm -i” 操作,不是原生的命令,在这里面添加了确认操作。当我们直接用 /bin/rm ,命令的话,就算不加-f,他也不会询问,直接删掉了。linux命令就是这么冷酷。所以一般用的rm其实就是rm -i

whereis命令 类似于which 返回命令的帮助文档

以#开始的行,表示注释,没啥用

grep (检索目标命令行)命令:在文件中搜索字符串匹配的行并输出

  • 语言:grep -iv 指定字符串 文件

    grep Network /root/anaconda.cfg 在/root/anaconda.cfg文件下查找Network所在的行

  • -i 不区分大小写 -v排除指定字串

    grep -v ^# /etc/inittab 把以#开头的行不看。

    • ^# 以#开头的文件
find 
locate -i updatadb 
which whereis
grep -i -v

帮助命令

帮助命令中 1 表示命令的帮助

​ 5 表示文件的帮助(配置文件的帮助文档)

man命令:manual 获得帮助信息

  • man ls 进入ls这个命令的帮助页面,这个页面符合less命令规则,可以用/来查找
  • man service 查看配置文件services的帮助信息,注意,后买那就只要加配置文件的名称就可以了,不用加绝对路径,否则,就是直接把配置文件打印出来了。
  • 在linux中,有可能命令和文件是同一个名字,比方passwd,当这时候 man passwd会优先展现出来命令的帮助信息,但要是想展现出文件的帮助信息 就 man 5 passwd (5表示文件,1表示命令

whatis +命令:显示命令的简短的信息

apropos +配置文件 :显示配置文件简短信息(只要写文件名就好,不用写绝对路径)

help命令,查看shell内置命令的帮助信息

  • 很多命令是shell内置命令,比方说cd umask,这类命令无法通过man +命令名称 来查看命令帮助的,只能通过help +命令名称 来查看帮助文档
man 命令或而配置文件   命令 NAME 作用  /选项
                    配置文件 NAME 存放信息 文件格式
whatis 命令
apropos 配置文件相关信息
命令  --help
info 类似于 man
shell内置命令,就是用whereis which 找不到的命令 用help                                         +命令名

用户管理命令

useradd 添加新用户

  • useradd zhengjiang

passwd 为用户添加密码 ,使他可以访问服务器

  • passwd + 用户名 回车后就会叫你输入密码了
  • 管理员root可以更改任何人的密码,而且密码也可以不符合系统密码要求,但是用户就只能通过passwd +新密码来更改自己的密码,且必须符合密码规定。

who 查看登陆用户信息

  • who 会显示
    • 登陆用户名
    • 登陆用户终端 (tty本地终端;pts远程终端 后面的数字表示不同的终端号)
    • 登录时间
    • 登陆ip,没写表示本机登陆
  • w 命令,更加详细的用户信息
    • 信息第一行 分别表示
    • 系统时间
    • 服务器linux系统运行时间 (uptime命令也可以查看相同信息)
    • 服务器负载量
    • 其他显示条目
    • IDLE 表示用户空闲时间,最后一次操作到现在的时间间隔
    • pcpu 用户操作占用CPU时间 jcpu累计时间 what 用户操作(-bash表示啥都没做)

压缩文件命令

压缩格式

rm -rf * 表示删除当点目录下的全部文件不用询问

. gz格式,只能压缩文件,不能压缩目录

  • gzip +文件名 压缩文件,不保留源文件
  • gunzip +文件名 解压缩,文件名可以是直接的文件名(不加后缀)也可以加后缀,但是当文件里面重名的文件时 比方说 a.gz 和a 那么就要gunzip+加后缀的文件名,否则报错,最好还是全写

tar命令,可以用来压缩目录

  • -c 打包 -v 显示详细信息(打包了目录下的哪些文件呀) -f 指定文件名 -z 打包同时压缩 -x 解包

  • 压缩后的文件格式 .tar.gz

  • 先把目录打包成一个.tar文件,在对这个打包文件进行gzip压缩,最后出来的是.tar.gz文件,网上一些资源的格式很多都是.tar.gz格式。

  • tar -cvf jan.rar jan 把jan目录打包成jan.rar文件

    再用gzip jan,rar 把刚刚打包好的.rar文件给压缩一下

  • tar -zcf jan.rar.gz jan 直接把jan目录压缩打包为jan.rar.gz,一步完成,会保留源文件

  • tar -zxf jan.rar.gz 解压,也会保留源文件

zip命令:

  • zip +压缩后的文件名.zip +要压缩的文件
  • 会保留原文件
  • zip -r 压缩目录
  • unzip 解压缩 后面直接加要解压缩的.zip文件,不分文件还是目录都可以解压缩

bzip2压缩

  • 特点
    • -k 可以保留源文件
    • 压缩比惊人的大,效率高。
    • 产生.bz2文件后缀
    • 只能压缩文件,不能压缩目录
    • 于tar命令配合使用压缩目录时,只要把-z 换成-j便可。
  • bzip2 -k jan 把jan文件压缩为.bz2文件格式。
    • tar -jcf jan.rar.bz2 jan 把jan目录压缩为.rar.bz2文件
  • bunzip2 解压缩,-k保留源文件
    • .rar.bz2文件解压 tar -xjf 文件名.rar.bz2
  • 因为bzip2不可以压缩目录,所以也要用到tar命令,先打包再压缩。在tar文件里 ta
.gz gzip gunzip (gzip -d) 不保留源文件
.rar tar -cf   tar -xf
.rar.gz tar -zcf   tar -zxf
.zip zip -r(保留) unzip
.bz2 bzip2     bunzip2  (-k 保留,压缩率大)
.rar.bz2 tar -jcf  tar -jxf 

网络命令:

write命令 给在线用户发送消息 可以用w查看在线用户

  • write + 用户名 回车后 编辑发送内容
  • CTRL + D 保存结束
  • CTRL+ 删除键 才能实现删除打错的字

wall命令: write all 给所有在线用户发送消息,自己也会收到

  • broadcast全局广播

ping 命令:

  • -c ping -c 3 ip 指定ping几次,发送几次请求包

ifconfig命令,查看和设置网卡

mail命令:查看发送电子邮件,用户不在线也可以发,不像write

系统会给root用户发送一些重要邮件,当root用户登陆时,要仔细查看系统邮件。

  • mail + 用户名 回车编辑 CTRL+D发送
  • mail 后面没参数,查看自己收到的mail,
    • >N开头表示new 新邮件,&后面输入邮件的数字就可以查看邮件内容了
    • h 表示回到邮件列表
    • q 退出

last命令:列出目前于过去登陆系统的用户信息。包括系统reboot重启时间

lastlog命令:用户最后一次登陆的时间 -u +用户id

traceroute命令:显示数据包到我要访问主机间的路径,网络节点

传输协议:

  • TCP 三次握手,双方均在线后再传输数据
  • UCP 不握手,直接把数据丢过去 速度快

netstat命令:查询网络状态(status) 详细

  • netstat -tlun 查看本机监听的端口
  • netstat -an 查看本机所有的网络链接
  • netstat -rn 查看本机路由表,查询网关
  • netstat -tunlp | pr

setup:管理工具

nmtui:网络管理工具

service network restart:重启网络服务

mount:挂载命令

把挂载目录和设备文件名/dev/sr0,连接起来

  • 先在/mnt目录下创建挂载目录 mkdir /mnt/cdrom
  • mount -t 文件系统(iso9660) 设备文件名 (/dev/sr0) /mnt/cdtom
  • cd /mnt/cdrom 进入到光盘的文件目录下,查看文件
  • umount 卸载 ,后面加挂载目录(/mnt/cdrom)或设备文件名(/dev/sr0)都可以

关机重启命令:

shutdown命令:

shutdown [选项] 时间 
会自动断开服务,在关机和重启之前
服务器最好不要关机,只能重启
-c :取消前一个关机命令
-h :关机
-r :重启

重启:reboot init 6

关机:halt pweroff init 0

系统运行级别:

runlevel命令:查看运行级别

  • 第一个数字是前一个运行级别 第二个是当前的级别

在/etc/systemd下面了

更改

  • 0 关机
  • 1 单用户,root登陆
  • 2 不完全多用户,不含NFS服务(network file system 实现两个linux系统的文件共享)
  • 3 完全 多用户
  • 4 未分配
  • 5 图形界面 X大写的X表示图形环境
  • 6 重启

logout:退出登录

  • 维护人员,登陆后一定要logout,小心使得万年船

vim编辑器:

三种模式:

  • insert插入模式 对文件内容的改变 按下Esc退到命令模式
  • 编辑模式 对vim编辑效果的设置,比方说加上行号
  • 命令模式 前面两种模式的中转站
    • 按下 a/i/o进入Insert模式
    • 按下 :进入编辑模式

简单流程:

  • vi + filename 进入命令模式,在命令模式下输入 a/i/o 进入插入模式
  • 在insert模式下(下面会出现Insert符号),输入信息
  • 编辑完成后 按Esc键,从insert模式下退到命令模式
  • 输入 :从命令模进入到编辑模式
  • 输入wq,保存并退出
  • cat 查看文件,发现编辑成功

rpm文件安装包命令:

别用yum 卸载

cpio提取文件命令:

  • 当我的某个命令文件比方所ls,他所在的目录/bin/ls,被我不小心删掉了,那么要么重装linux系统,全部命令覆盖重装,要么就用到了文件提取。只要知道这个ls命令在那个rpm包里面,就可以单独把这个文件提取出来。

  • 流程

    • rpm -qf /bin/ls 查询ls命令是哪个rpm包
    • 提取相应rpm包中的ls命令到当前目录的/bin/ls下
    • cp /root/bin/ls /bin/ 把ls命令复制到/bin/目录,修复文件丢失。
  • 格式:rpm2(这里的2通假字,同to)cpio +rpm包的绝对路径(/mnt/cd/Packages/包名) |(管道符) cpio -id

    +.提取的文件名(前面的 . 表示存到当前目录下 )

    • rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./user/bin/ls

命令

rpm -ql -qf 

yum在线管理: 解决包的依赖性

  • 网络配置 vi /etc/sysconfig/network-scripts/ifcfg-xxx
  • service network restart
  • ONBOOT:yes
  • ip 子网掩码 网关 DNS 缺一不可
  • /etc/yum.repos.d

yum常用命令:

  • yum list 查询所有可用软件
  • yum search +关键字 搜索相关包(包名,不是包全名)
  • yum -y install +包名

    • -y 自动回答yes
    • install 安装
    • yum -y install gcc
  • yum -y update + 包名 :更新

    • 注意要是不加包名,默认升级所有,包括linux内核,但是内核升级完先需要一定都配置。所以新手一定要记得加上包名。
  • yum -y remove + 包名 卸载
    • 用yum卸载会把包所依赖的全都卸载掉,但是这些包会被别的包依赖。所以用yum 卸载很危险,可能会导致系统崩溃。
  • yum grouplist:组查询
  • yum groupinstall +包名 要是包名有空格,要用引号包起来。
  • yum groupremove:移除。

yum光盘yum源搭建:

  • 挂载光盘mount /dev/sr0 .mnt/cdrom

  • 让其他网络yum源失效:进入yum原配置文件 /etc/yum.repos.d/,把除了CentOS-Media.repo文件外,其他文件全都改个名字(把后缀名全都改掉,只要不是.repo后缀,系统就无法识别),让系统无法识别,无路可去自然就去关盘中找资源啦。

  • 让光盘yum源生效:

    进入光盘.repo我那件,vim打开,把baseurl(表示yum资源的地址,其他网络yum源的baseurl的值为http://官方yum源服务器地址)改为file://(三条杠)+光盘文件挂载点(/mnt/cd/),把另外两个地址给注释掉(#号注释)

  • 千万注意:一些配置文件有着严格的格式要求,当你改动后,发现报错了。就要知道可能是我的修改导致文件的格式出现错误。

源码包,安装在人为指定的路径下(没有规规矩矩的放在指定的地方),所以要启动源码包下的服务的时候,需要文件的操作命令的绝对路径,xxx/xxx/xxx.start ,才可以启动。

RPM包就很乖了,他的安装路径基本上都是固定的,系统知道这个文件会被放在哪里,所以有一个快捷服务关岭命令service scrvice +相应服务+相应命令(start等)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值