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登录信息
目录
相关文章
|
2月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
213 73
|
25天前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
53 1
|
25天前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
23 0
Linux入门1——初识Linux指令
|
5月前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
22天前
|
存储 数据可视化 Linux
Linux 基础入门
Linux 基础入门
|
25天前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
24 0
|
3月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
48 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
3月前
|
存储 Ubuntu Linux
Linux基础入门
Linux基础入门
28 1
|
3月前
|
Ubuntu Linux Shell
Linux 终端入门
Linux 终端入门
27 0
|
3月前
|
安全 网络协议 Linux
保护你的 Linux VPS:入门指南
保护你的 Linux VPS:入门指南
32 0