Linux入门

简介: 目录【Linux系统】 【系统管理】 【发行版之别】【桌面环境之别】【文件管理器之别】【终端模拟器之别】【用户管理】【用户组管理】【软件管理】 安装命令安...

目录

【Linux系统】

【系统管理】

sudo 其实是软件 早该意识到的,所有的命令都是可执行文件

【发行版之别】

  • debain 挺老的发行版
  • ubuntu 建立在debain之上,许多人入门的系统
  • ubuntu mint 个人喜欢这个系统
  • fedora redhat的试验场 不太感冒
  • openSUSE
  • freeBSD
  • Solaris
  • Alpine 特别小,在docker中使用有优势,但是坑多
  • centos
  • arch 滚动发行,包管理机制优秀
  • deepin 建立在debain上的国产操作系统,简洁美观使用方便,就是没有特别稳定
  • mageia
  • gentoo 入门难度大,适合资深玩家,据说是特能折腾的系统,处于鄙视链顶端

【桌面环境之别】

  • gnome 占用资源中等,个人对该桌面不感冒
  • xfce 占用资源少,操作类似于xp
  • kde 功能强大,占用资源中等
  • dde deepin设计的桌面环境,小bug略多,但是美观操作方便

【文件管理器之别】

有单窗口,双列,命令,简洁轻量,笨重完整 各种各样的选择

  • nautilus Gnome默认 挺好用,但是不能自动挂载分区
  • deepin-filemanager deepin默认,较为方便,但是打开手机会卡根本打不开
  • pcmanfm 左边侧栏目录树 会同步nautilus的配置5m
  • rox-filer 特别小,单击打开,迅速定位文件,适合找东西用
  • thunar 解决了nautilus的缺点,内存也很省 21M
  • dolphin 多标签页,目录树方式查看
  • nemo mint默认的,功能齐全,会同步nautilus的配置,同样有目录树而且是两边都有 21M
  • tuxcmd Tux Commander 双列,小,直接的目录树,学习成本高点 2M

【终端模拟器之别】

  • qterminal 可定制标签页位置以及透明度,很简洁,挺好用
  • mate-terminal 和gnome-terminal 基本配置什么的几乎一样,只是标题栏简洁一丢丢,跨标签页复制粘贴有bug
  • gnome-terminal 很简洁,但是多标签时,标签页太大
  • sakura 外观上和前两个几乎一样,标签页可以更简洁,但是设置不好调
  • deepin-terminal 功能很多,主题很多,功能最为强大,但是字体可以选的很少
  • terminator 可以定制背景图片,但是在我这deppin系统里有bug,多标签是假的,命令全是在共享的,不能用。。
  • tmux 运维必备软件,入门有些繁琐
搜索到的终端模拟器:
  terminology 0.7.0-1+deb8u1build0.16.04.1
  lxterminal 0.2.0-1ubuntu0.1
  xvt 2.1-20.1ubuntu1
  xiterm+thai 1.10-2
  xfce4-terminal 0.6.3-2ubuntu1
  vala-terminal 1.3-6
  termit 2.10.0-2-gb8280ed-1
  terminator 0.98-1
  terminal.app 0.9.8-1+nmu1build2
  stterm 0.5+20140606+gitc2fd275-1
  sakura 3.3.4-2
  rxvt-unicode-lite 9.21-1build1
  rxvt-unicode-256color 9.21-1build1
  rxvt-unicode 9.21-1build1
  rxvt-ml 1:2.7.10-6
  rxvt 1:2.7.10-6
  roxterm 3.3.2-1
  qterminal 0.6.0+20160104-1
  pterm 0.67-2
  mrxvt-mini 0.5.4-1.2
  mrxvt-cjk 0.5.4-1.2
  mrxvt 0.5.4-1.2
  mlterm-tiny 3.5.0-1build1
  mlterm 3.5.0-1build1
  lilyterm 0.9.9.4+git20150208.f600c0-3
  kterm 6.2.0-46.1build1
  konsole 4:15.12.3-0ubuntu1
  guake 0.8.4-1
  evilvte 0.5.1-1
  eterm 0.9.6-4
  aterm 1.0.1-8
  xterm 322-1ubuntu1
  mate-terminal 1.18.1-1+sonya
  gnome-terminal 3.18.3-linuxmint2
请您明确地选择安装其中一个。

软件源列表


【用户管理】

  • 添加用户 sudo adduser username
    • 对比 useradd只是新建一个用户不会创建主目录
  • 添加到sudo组 ,使用命令更安全:sudo gpasswd -a $USER sudo 但是要注销或者重启才生效貌似
  • 或者:添加用户到用户组:adduser user group
    • 或者:使用修改文件的方式:(不推荐) 但是在docker中跑Ubuntu新建用户时很有用,也可以不用动文件,添加进组是有效的,看情况吧
    • chmod 777 /etc/sudoers
      • 找不到文件说明没有安装sudo -> root用户 apt install sudo
    • 添加一行 kuang ALL=(ALL:ALL)ALL
    • chmod 440 /etc/sudoers
      • rwx 对应一个三位的二进制数, 1/0 表示开关
  • 查看是否设置成功 : groups username
  • 删除用户以及对应的home目录:sudo deluser username --remove-home

  • su username 切换用户
  • su -l username 当前用户的环境下登录用户(当成一个程序一样可以退出登录)

  • 修改密码:

    • passwd user
    • echo "root:caishi" | chpasswd 如果是普通用户就是 sudo chpasswd
  • usermod 修改相关信息
    • -s 更改shell环境
    • -g 更改用户组
    • -l 新用户名

  • passwd 选项 用户名 更改口令(密码)
    • -l 锁定口令,禁用账号 -u 口令解锁 -d 账号无口令 -f 强迫用户下次登录时修改口令
    • 当前用户 passwd 就是修改当前用户口令 超级用户就可以命令后接用户名,修改任意用户

【用户组管理】

相关总结网页

  • 修改用户所在组 sudo usermod -G sudo username

  • 添加用户组:groupadd 选项 用户组

    • -g GID 指定新用户组的组标识号GID
    • -o 一般和g共用 表示新用户组的GID可以与系统已有用户组的GID相同。
  • 删除用户组:groupdel

  • groupmod 选项 用户组

    • -g GID 为用户组指定新的组标识号。
    • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
    • -n 新用户组 将用户组的名字改为新名字

【软件管理】

安装命令

  • 1,deb 安装deb包
    • sudo dpkg -i *.deb
  • 2,apt-get
    • sudo apt-get install xxx
  • 若不能添加私有源ppa:
    • debain:
    • Ubuntu sudo apt-get install python-software-properties
  • 例如:sudo add-apt-repository ppa:dotcloud/lxc-docker

    • 删除ppa cd /etc/apt/sources.list.d/ 打开该目录下文件把对应的ppa的一行注释掉或删掉就行了
  • 3,make install 源代码安装

    • 1.解压缩 tar -zxf nagios-4.0.2.tar.gz
    • 2.进入目录 cd nagios-4.0.2
    • 3.配置 ./configure --prefix=/usr/local/nagios
    • 4.编译 make all
    • 5.安装 make install && make install-init && make install-commandmode && make install-config
  • 查看已安装的应用
    • dpkg --list
  • 彻底卸载应用
    • sudo apt-get --purge remove 应用名
  • 只卸载程序,保留配置文件
    • sudo apt-get remove 应用名

安装Linux发行版

  • 下载指定的镜像包,使用对应的刻录软件刻录U盘
  • 进入U盘安装模式,分区:
    • 分配 1/5 的 / ext4
    • 分配 3/5 的 /home ext4
    • 分配 500-1000m 的 /boot/efi fat32格式
  • 如果是要双系统,直接全部/就行了,再加个交换分区
  • 特别注意不要随意用sudo 更改配置文件,容易导致系统crash(除非你明确的知道这个更改的作用)

【常见问题】

终端错误提示音

  • 临时关闭:rmmod pcspkr 临时开启:modprobe pcspkr
  • 编辑 /etc/inputrc,找到#set bell-style none这一行,去掉前面的注释符号

下面的方法不敢试
- 对于Debian/Ubuntu系统,使用root身份执行:
- sudo echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist
- 对于CentOS/Redhat/RHEL/Fedora系统,使用root身份执行:
- echo "alias pcspkr off" >> /etc/modprobe.conf

Ubuntu与Windows10时间相差8小时的解决

  • timedatectl set-local-rtc true

终端开启慢

  • 检查 .bashrc 文件, 这次就是因为sdkman的原因导致巨慢,那上次是什么原因呢?

命令找不到

  • sudo找不到 就安装 sudo
  • locale-gen 安装locales 使用locale-gen --purge命令进行更新编码

Deepin的NVIDIA驱动问题

  • 论坛博客
    • sudo apt-get install bumblebee-nvidia nvidia-driver nvidia-settings

【Tips】

man help 后接使用的命令,就可以得到用户手册和帮助文档

一行执行多条命令

  • && 第2条命令只有在第1条命令成功执行之后才执行 根据命令产生的退出码判断是否执行成功(0成功,非0失败)
  • || 执行不成功(产生了一个非0的退出码)时,才执行后面的命令
  • ; 顺序执行多条命令,当;号前的命令执行完(不管是否执行成功),才执行;后的命令。
  • & 并行执行命令,没有顺序

  • tty 虚拟终端等概念


让命令在后台运行

原博客

  • 命令后接 & (只是让进程躲到当前终端的后台去了 hup信号仍然影响)

  • 运行的命令不因 用户注销,网络中断等因素而中断

    • 让进程对hup信号免疫 nohup disown
    • 让进程在新的会话中运行 setid screen
关闭ssh回话不能运行
关闭ssh回话仍能运行

nohup, disown, screen, setid
- 使用nohup屏蔽hup信号 后台运行,输出到nohup.out nohup 命令 &
- 修改重定向文件 nohup 命令>/dev/null 2>&1
- (命令 &) 屏蔽了hup信号


修改主机名

  • sudo hostname linux 重启终端即可看到修改
  • 但是重启电脑会恢复原有名字修改如下文件永久: sudo gedit /etc/hostname /etc/hosts
  • 立即生效,也要重新登录 hostname -F /etc/hostname

字符雨

  • sudo apt-get update;sudo apt-get install cmatrix 然后 运行 cmatrix

快捷键

  • 终端:
    • Ctrl L 清屏,Mysql也适用
    • Ctrl ; 显示最近五条剪贴板内容
Ctrl + d       删除一个字符,相当于通常的Delete键(命令行若无任何字符,则相当于exit;处理多行标准输入时也表示EOF )
Ctrl + h       退格删除一个字符,相当于通常的Backspace键
Ctrl + u       删除光标之前到 行首 的字符
Ctrl + k       删除光标之前到 行尾 的字符
Ctrl + c       取消当前行输入的命令,相当于Ctrl + Break
Ctrl + a       光标移动到行首(Ahead of line),相当于通常的Home键
Ctrl + e       光标移动到行尾(End of line)
Ctrl + f       光标向前(Forward)移动一个字符位置
Ctrl + b       光标往回(Backward)移动一个字符位置
Ctrl + l       清屏,相当于执行clear命令
Ctrl + p       调出命令历史中的前一条(Previous)命令,相当于通常的上箭头
Ctrl + n       调出命令历史中的下一条(Next)命令,相当于通常的下箭头
Ctrl + r       显示:号提示,根据用户输入查找相关历史命令(reverse-i-search)
  • htop 终端的任务管理器显示
  • lsof 便捷的查看端口情况以及文件调用情况
  • strace -p PID 查看系统调用
  • ps | clorm 20 30 colrm删除输出的20 到30 列
  • w | uptime 查看启动情况
  • wc -l 统计行数
  • last 查看Linux登录信息
目录
相关文章
|
26天前
|
Linux 数据安全/隐私保护 Windows
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
Linux入门指南:linux权限究竟是什么?和文件有什么关系?
30 0
|
1月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
1月前
|
域名解析 运维 网络协议
Linux命令行全景指南:从入门到实践,掌握命令行的力量
Linux命令行全景指南:从入门到实践,掌握命令行的力量
84 0
|
2月前
|
Shell Linux
Linux下的Shell基础——Shell概述和入门(一)
Linux下的Shell基础——Shell概述和入门(一)
38 0
Linux下的Shell基础——Shell概述和入门(一)
|
3月前
|
安全 Unix Linux
【Linux入门指南:掌握开源操作系统的基础知识】(四)
【Linux入门指南:掌握开源操作系统的基础知识】
|
3月前
|
Linux
【Linux入门指南:掌握开源操作系统的基础知识】(三)
【Linux入门指南:掌握开源操作系统的基础知识】
|
13天前
|
Unix 大数据 Linux
linux入门
linux入门
17 1
|
1月前
|
网络协议 Unix Linux
Linux 入门了解
Linux 入门了解
32 0
|
1月前
|
存储 消息中间件 网络协议
Linux 系统编程从入门到进阶 学习指南
本文旨在为初学者提供一个清晰的 Linux 系统编程入门指南,带你步入 Linux 系统编程的世界,从基本概念到实用技能,一步步建立起您的知识体系。
Linux 系统编程从入门到进阶 学习指南
|
1月前
|
人工智能 Linux 索引
Linux入门指令和权限讲解
Linux入门指令和权限讲解