Linux基础

Linux简介

  1. Linux是一套免费使用和自由传播的类Unix操作系统(主要用在服务器上),是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
  2. Linux操作系统诞生于1991 年10 月5
    日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

补充:linux内核必须加上一个“界面”软件,才能让用户去使用
“界面”分两类:
a、命令行界面(有很多种,最流行的一种是 bash shell)
b、图形界面(也有很多种,目前最流行的有两种:gnome kde)

  1. 常见发行版
    红帽企业版:RedHat Enterprise Linux(RHEL),红帽桌面版Fedora
    Centos社区发行版:源自RedHat企业版,相比少了一些收费的应用软件
    Ubuntu:桌面版、服务器版、移动端
    麒麟kylin:国防科技大学发行
    红旗RedFlag:中科院发行 bluepoint

Linux常用命令

基本日常操作命令

linux的文件系统:

  • 整个文件系统有一个顶层目录: /
    bin:存放一些可执行的程序(命令)
    boot: 存放系统启动所需要的一些文件
    dev:系统中的设备(硬件在linux中通过“文件”来标识)
    etc:存放配置文件的地方
    home:用户目录的总目录,比如用户hadoop的主目录: /home/hadoop
    lib lib64: 系统库目录
    mnt:用于挂载外部存储设备的文件
    root:是root用户的主目录
    sbin:存储一些系统级的可执行命令,只有拥有root权限的用户才能执行
    tmp:系统自带的一个临时目录
    usr:unix shared resources,共享资源目录
  1. 查看当前所在的工作目录的全路径 pwd
  2. 查看当前系统的时间 date
  3. who 查看当前在线
    last 查看最近的登陆历史记录
  4. 关机/重启
    关机(必须用root用户)
    shutdown -h now ——立刻关机
    shutdown -h +10 ——10分钟以后关机
    shutdown -h 12:00:00 ——12点整的时候关机
    halt —— 等于立刻关机
    重启
    shutdown -r now
    reboot —— 等于立刻重启
  5. 清屏
    clear 或者用快捷键 ctrl + l
  6. 退出当前进程
    ctrl+c 有些程序也可以用q键退出
  7. 挂起当前进程
    ctrl+z —— 进程会挂起到后台
    jobs —— 查看job列
    bg jobid —— 让进程在后台继续执行
    fg jobid —— 让进程回到前台
    kill jobid —— 杀掉
  8. echo 相当于java中System.out.println(userName)

目录操作

  1. 查看目录信息
    ls / —— 查看根目录下的子节点(文件夹和文件)信息
    ls -al —— -a是显示隐藏文件 -l是以更详细的列表形式显示
    ls -l 有一个别名: ll —— 可以直接使用ll <是两个L>

  2. 切换工作目录
    cd /home/hadoop —— 切换到用户主目录
    cd ~ —— 切换到用户主目录
    cd —— 什么路径都不带,则回到用户的主目录
    cd - —— 回退到上次所在的目录

  3. 创建文件夹
    mkdir aaa —— 这是相对路径的写法
    mkdir /data —— 这是绝对路径的写法
    mkdir -p aaa/bbb/ccc —— 递归创建目录

  4. 删除文件夹
    rmdir aaa —— 可以删除空目录
    rm -r aaa ——可以把aaa整个文件夹及其中的所有子节点全部删除
    rm -rf aaa —— 强制删除aaa

  5. 修改文件夹名称
    mv aaa angelababy
    mv本质上是移动
    mv install.log aaa/ 将当前目录下的install.log 移动到aaa文件夹中去
    rename 可以用来批量更改文件名
    语法
    rename(参数)
    参数
    原字符串:将文件名需要替换的字符串;
    目标字符串:将文件名中含有的原字符替换成目标字符串;
    文件:指定要改变文件名的文件列表。
    rename支持通配符
    ? 可替代单个字符
    .* 可替代多个字符

文件操作

  1. 创建文件
    touch somefile.1 ## 创建一个空文件

echo “xxx” > xxx
利用重定向“>”的功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,如果指定的文件不存在,则会创建出来
echo “xxx” >> xxx
将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容

补充:
1、在linux的命令行界面中,如何将一个程序“最小化”(挂起):ctrl+z
2、如何将一个已挂起的程序恢复到前台
可以先用jobs查看挂起程序列表
再用 fg 1 把编号为1的程序恢复到前台

  1. 拷贝/删除/移动
    cp somefile.1 /home/hadoop/
    cp目录
    cp -R 目录1 目录2

  2. 查看文件内容
    cat somefile 一次性将文件内容全部输出(控制台)
    分页查看文件的命令:
    more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b) 退出(q)
    less somefile 可以翻页查看,下翻一页(空格) 上翻一页(b),上翻一行(↑) 下翻一行(↓) 可以搜索关键字(/keyword)
    跳到文件末尾: G
    跳到文件首行: gg
    退出less : q
    tail -10 install.log 查看文件尾部的10行
    tail +10 install.log 查看文件 10–>末行
    tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件
    tail -F install.log 大F按照文件名来跟踪
    head -10 install.log 查看文件头部的10行

  3. 打包压缩

    1. gzip压缩
      gzip a.txt

    2. 解压
      gunzip a.txt.gz 或 gzip -d a.txt.gz

    3. bzip2压缩
      bzip2 a.txt

    4. 解压
      bunzip2 a.txt.bz2
      bzip2 -d a.txt.bz2

    5. 打包:将指定文件或文件夹打成一个文件
      tar -cvf bak.tar ./aaa
      将/etc/password追加文件到bak.tar中(-r)
      tar -rvf bak.tar /etc/password

    6. 解包
      tar -xvf bak.tar

    7. 打包并压缩
      tar -zcvf a.tar.gz aaa/ bb/ c.txt

    8. 解包并解压缩
      tar -zxvf a.tar.gz
      解压到/usr/下
      tar -zxvf a.tar.gz -C /usr

    9. 查看压缩包内容
      tar -ztvf a.tar.gz

    10. 打包并压缩成bz2
      tar -jcvf a.tar.bz2

    11. 解压bz2
      tar -jxvf a.tar.bz2

vi文本编辑器

  1. 最基本用法
    vi somefile.4
    1、 首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容
    2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
    3、编辑完成之后,按Esc键退出编辑模式,回到一般模式;
    4、 再按:,进入“底行命令模式”,输入wq命令,回车即可保存退出

  2. 常用快捷键
    一些有用的快捷键(在一般模式下使用):
    a —— 在光标后一位开始插入
    A —— 在该行的最后插入
    I —— 在该行的最前面插入
    gg —— 直接跳到文件的首行
    G —— 直接跳到文件的末行
    dd —— 删除一行
    3dd —— 删除3行
    yy —— 复制一行
    3yy —— 复制3行
    p —— 粘贴
    u —— undo 撤销
    ctrl + r —— redo向前撤回

v 进入字符选择模式,选择完成后,按y复制,按p粘贴
ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴

  1. 查找并替换
    (在底行命令模式中输入)
    1、显示行号
    :set nu
    2 、隐藏行号
    :set nonu
    3、 查找关键字
    /you —— 效果:查找文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)

查找命令

1. 常用查找命令的使用

  1. 查找可执行的命令所在的路径:
    which ls
  2. 查找可执行的命令和帮助的位置:
    whereis ls
    我是谁,当前登录的用户是谁
    whoami
  3. 从某个文件夹开始查找文件
    find / -name “hadooop*”
    find / -name “hadooop*” -ls
  4. 查找并删除
    find / -name “hadooop*” -ok rm {} ;
    find / -name “hadooop*” -exec rm {} ;
  5. 查找用户为hadoop的文件和文件夹还有隐藏文件
    find /usr -user hadoop -ls
    查找用户为hadoop的文件/还有隐藏文件
    find /home -user hadoop -type f -ls
  6. 查找用户为hadoop的文件夹
    find /home -user hadoop -type d -ls
  7. 查找权限为777的文件
    find / -perm -777 -type d -ls
  8. 显示历史命令——history

2. grep命令
重点使用方法:
ls /etc | grep profile

  1. 基本使用
    cat /etc/passwd
    查询包含niu的行
    grep niu /etc/password
    grep aaa ./*.txt
  2. cut截取以:分割保留第七段
    grep niu /etc/passwd | cut -d: -f7
  3. 查询不包含niu的行
    grep -v niu /etc/passwd
  4. 正则表达包含niu
    grep ‘niu’ /etc/passwd
  5. 正则表达(点代表任意一个字符)
    grep ‘h.*p’ /etc/passwd
  6. 正则表达以niu开头
    grep ‘^niu’ /etc/passwd
  7. 正则表达以niu结尾
    grep ‘niu$’ /etc/passwd

正则表达式的简单规则:

. : 任意一个字符
a* :任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
.* :任意多个任意字符
\. : 转义.
o\{2\} : o重复两次
查找不是以#开头的行——grep -v ‘^#’ a.txt | grep -v ‘^$’
以h或r开头的——grep ‘^[hr]’ /etc/passwd
不是以h和r开头的
——grep -v ‘^[hr]’ /etc/passwd
——grep ‘^[^hr]’ /etc/passwd
不是以h到r开头的
——grep ‘^[^h-r]’ /etc/passwd

文件权限的操作

  1. linux文件权限的描述格式解读
    drwxr-xr-x (也可以用二进制表示 111 101 101 —> 755)

d:标识节点类型(d:文件夹 -:文件 l:链接)
r:可读 w:可写 x:可执行
第一组rwx: —— 表示这个文件的拥有者对它的权限:可读可写可执行
第二组r-x: —— 表示这个文件的所属组用户对它的权限:可读,不可写,可执行
第三组r-x: —— 表示这个文件的其他用户(相对于上面两类用户)对它的权限:可读,不可写,可执行

  1. 修改文件权限
    chmod g-rw haha.dat —— 表示将haha.dat对所属组的rw权限取消
    chmod o-rw haha.dat —— 表示将haha.dat对其他人的rw权限取消
    chmod u+x haha.dat —— 表示将haha.dat对所属用户的权限增加x
    chmod a-x haha.dat —— 表示将haha.dat对所用户取消x权限
    也可以用数字的方式来修改权限
    chmod 664 haha.dat
    如果要将一个文件夹的所有内容权限统一修改,则可以-R参数
    chmod -R 770 aaa/

  2. 修改文件所有权
    <只有root权限能执行>
    chown angela aaa —— 改变所属用户
    chown :angela aaa —— 改变所属组
    chown angela:angela aaa/ —— 同时修改所属用户和所属组

补充:
r: 对文件来说,是可读取内容;对文件夹来说,是可以ls
w: 对文件来说,是可修改文件的内容;对文件夹来说,是可以在其中创建或者删除子节点
x: 对文件来说,是能否运行这个文件;对文件夹来说,是能否cd进入这个目录

基本的用户管理

添加一个用户:
1、 useradd spark
2、 passwd spark 根据提示设置密码;
即可
删除一个用户:
userdel -r spark 加一个-r就表示把用户及用户的主目录都删除

  1. 添加用户
    添加一个tom用户,设置它属于users组,并添加注释信息
    分步完成:useradd tom
    usermod -g users tom
    usermod -c “hr tom” tom
    一步完成:useradd -g users -c “hr tom” tom
    设置tom用户的密码
    passwd tom

  2. 修改用户
    修改tom用户的登陆名为tomcat
    usermod -l tomcat tom
    将tomcat添加到sys和root组中
    usermod -G sys,root tomcat
    查看tomcat的组信息
    groups tomcat

  3. 用户组操作
    每一个用户都有一个primary组,同时还可以属于很多的普通组
    添加一个叫america的组
    groupadd america
    将jerry添加到america组中
    usermod -g america jerry
    将tomcat用户从root组和sys组删除
    gpasswd -d tomcat root
    gpasswd -d tomcat sys
    将america组名修改为am
    groupmod -n am america

  4. 为用户配置sudo权限
    用root编辑 vi /etc/sudoers
    在文件的如下位置,为hadoop添加一行即可
    root ALL=(ALL) ALL
    hadoop ALL=(ALL) ALL
    然后,hadoop用户就可以用sudo来执行系统级别的指令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值