【03】Linux笔记

Linux 笔记


装机必备

立刻关机

sudo shutdown -t now

设置fish为默认shell

chsh -s /usr/bin/fish

安装ssh服务

sudo apt install sshd

让你的sudo输错密码的时候嘲讽你
sudo visudo
然后在配置中加入如下一行:
Defaults insults
安装ss-qt5
sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt install shadowsocks-qt5
vim简单配置
set number  "显示行号
filetype on
set history=1000
syntax on  "打开语法高亮显示
set autoindent "自动对齐,使用上一行的对齐方式
set smartindent "智能对齐方式
set tabstop=4
set shiftwidth=4
set showmatch  "设置匹配模式
set ruler "在编辑过程中,在右下角显示光标位置的状态行
autocmd Insertleave * se nocul    //浅色高亮当前行
autocmd InsertEnter * se cul   //浅色高亮当前行
set mouse=a
set encoding=utf-8
hi Normal ctermbg=Black ctermfg=white  //修改背景色
consolas字体安装配置
下载:https://code.google.com/archive/p/uigroupcode/downloads
将上面下载的字体包解压,并按如下操作:
sudo mkdir -p /usr/share/fonts/consolas
sudo cp YaHei.Consolas.1.12.ttf /usr/share/fonts/consolas/
sudo chmod 644 /usr/share/fonts/consolas/YaHei.Consolas.1.12.ttf
cd /usr/share/fonts/consolas
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv
修改dns
进入 /etc/network/interfaces 在它的最后增加一句:
dns-nameservers 8.8.8.8 (或者别的啥)

临时修改就在 /etc/resolv.conf 中加入
nameserver 8.8.8.8
nameserver 8.8.4.4 (之类的)

常用操作

刷新dns
sudo apt install nscd (如果没有装的话)
/etc/init.d/nscd restart
运行新版网易云音乐

sudo netease-cloud-music

解压缩tar.gz包

tar -xzvf ***.tar.gz

查看不与terminal有关的所有process

ps -a

进程树

pstree

系统进程动态视图

top

查找进程

pgrep ***

按照进程名杀进程

pkill ***

查看系统负载详细信息

sudo atop

查看当前系统路径

pwd

查看帮助

man ***

查看当前tty窗口号

tty

后台运行任务

nohup *** &

查看所有可用字体名

fc-list

字符串正则匹配

grep match_pattern file_name

解决Xauthority的问题
sudo rm ~/.Xauthority-*
sudo touch ~/.Xauthority ; sudo chown $LOGNAME ~/.Xauthority ; chmod 775 ~/.Xauthority
监视某命令运行结果 : watch
命令格式: watch[参数][命令]
命令参数:
-n或--interval  缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。
-d或--differences  会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。
-t 或-no-title  会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。
-h, --help 查看帮助文档。

有趣的骚操作

watch实例-命令行时钟

watch -t -n1 "date +%T|toilet"

增强版时钟

watch -t -n1 "date +%T|toilet -fbigmono12"

录制终端操作 : script & scriptreplay
录制命令:
script -t 2>example.time -a example.txt
播放命令:
scriptreplay example.time example.txt
两个文件可以随便命名 例如timing.log和output.session
解释:
1. -t是把时间数据输出到标准错误(standard error),这里使用 2>example.time 把数据重定向到example.time这个文件当中.
2. -a 选项则指定输出录制的文件.
3. 在录制过程中,使用 exit 结束录制过程.
黑客帝国终端
sudo apt install cmatrix
选项
-a :异步滚动(默认)
-b :随机粗体
-B :全部粗体
-h :获得帮助信息
-n :不使用粗体(默认)
-s :屏保模式 任意键退出
-u :刷新频率,0-9,也就是滚动的快慢
-C :显示的颜色,支持green(默认),
red,blue,white,yellow,cyan,magenta,black
在运行的状态下直接按q 即可退出程序
高端显示linux系统信息

screenfetch

小火车

sl 或者 LS

艺术字

toilet 一些文本

分解质因数

factor ***

输出无穷字符

yes ***

显示火

aafire

跟着鼠标的猫

oneko


硬件相关

刷bios

flashrom

查看系统信息(代替cpu-z)
cpu-g https://sourceforge.net/projects/cpug/
i-nex https://sourceforge.net/projects/i-nex/
        或者:
        sudo add-apt-repository ppa:gambas-team/gambas3 &&         sudo add-apt-repository ppa:i-nex-development-team/stable &&         sudo apt-get update

        sudo apt-get install         debhelper devscripts pkg-config dpkg-dev         lsb-release gambas3-dev gambas3-gb-image gambas3-gb-qt5 gambas3-gb-form gambas3-gb-desktop         gambas3-gb-form-stock git

        sudo apt-get install i-nex
详细开机信息(内核 硬件等)

dmesg

详细内存信息

cat /proc/meminfo

详细cpu信息

cat /proc/cpuifo

cpu信息 仅频率

cat /proc/cpuinfo |grep MHz|uniq

proc硬件信息整合

sudo lshw (-short)

操作系统相关信息

uname -a

硬件信息(DMI)
dmidecode            显示全部dmi信息
dmidecode -q         (–quite) 只显示必要的信息
dmidecode -t TYPE    指定信息类型 例如memory bios processor
硬件信息

hardinfo

cpu实时信息

i7z

每个逻辑cpu的频率

sudo cpupower monitor

查看各种传感器数据
sensors-detect
sensors
一个控制台UI的cpu监测工具s-tui
sudo apt install gcc python-dev python-pip
(可选:sudo apt install stress)
sudo pip install s-tui
sudo s-tui

tty优化相关

支持中文的命令行zhcon

sudo zhcon --utf8

远程桌面vnc : tigervnc
https://bintray.com/tigervnc/stable/tigervnc/1.8.0#files
启动: vncserver
帮助:vncserver -help
列出进程: vncserver -list
杀进程: vncserver -kill :* (* 为桌面号)
端口: 5900+* (* 为对应桌面号)
内网穿透 : frp
https://github.com/fatedier/frp/releases
配置文档:
https://github.com/fatedier/frp/blob/master/README_zh.md
任务开机启动
sudo vim /etc/systemd/system/ *** .service 新建此文件,并写入以下内容
[Unit]
Description=*** daemon
# 下面两行意味着网络准备好以后才会启动命令
# After=syslog.target  network.target
# Wants=network.target

[Service]
Type=simple
ExecStart= ***  # 启动指令
Restart= always
RestartSec=1min

[Install]
WantedBy=multi-user.target

然后设为开机自启动:
sudo systemctl start ***
sudo systemctl enable ***
支持中文的console:fbterm 配置
sudo apt install fbterm
sudo fbterm 或者 sudo fbterm fish 运行
然后修改~/.fbtermrc
font-names=YaHei Consolas Hybrid
font-size=18
font-width=-2
font-height=-4
color-foreground=0
color-background=7
text-encodings=zh_CN.UTF-8

获得纯白的方法:
echo -en "\e]P7ffffff"
clear

如果要支持中文输入法的话,安装fcitx-frontend-fbterm,然后运行:
sudo setcap ‘cap_sys_tty_config+ep‘ /usr/bin/fbterm
并且在.fbtermrc里设置input-method=fcitx-fbterm
开机自动运行的脚本
创建一个脚本文件: *** .sh
编写内容,开头一定要是
#!/bin/sh 或者 #!/usr/bin/fish 等
表示在哪个shell下执行命令

然后下面必须有LSB描述信息:
### BEGIN INIT INFO
# Provides:         *** .sh
# Required-Start:    $syslog $remote_fs $network
# Required-Stop:    $syslog $remote_fs $network
# Default-Start:    2 3 4 5
# Default-Stop:        0 1 6
# Short-Description: starts the *** .sh daemon
# Description:     starts *** .sh using start-stop-daemon
### END INIT INFO

执行如下指令:sudo chmod 755 *** .sh
让脚本具备可执行权限

将 *** .sh移动到/etc/init.d路径下,可以直接拷贝

执行:
cd /etc/init.d/
sudo update-rc.d  *** .sh defaults 90
在这里90表明一个优先级,越高表示执行的越晚

如果要移除脚本:
sudo update-rc.d -f  *** .sh remove

获取sudo的方式:
echo PASSWORD | sudo -S ls
fish启动加载脚本位置

~/.config/fish/config.fish

fish shell判断是否是tty命令行还是图形界面命令行来启动fbterm
脚本位于~/.config/fish/config.fish
内容如下:

  if tty | grep tty
      nohup vncserver :1 &
      echo PASSWORD | sudo -S ls

      fcitx-fbterm-helper -l   # 如果要开机启动输入法 那就用这句
      # sudo fbterm fish         # 如果不要输入法 就用这句
      如果想要开机登陆到root用户,这段可以这样:
      sudo fcitx
      sudo fcitx-fbterm-helper
      sudo fbterm fish

      如果想在fbterm里exit以后直接退出登陆,那么再加:
      echo PASSWORD | sudo -S ls
      sudo kill %self
  else
      sudo echo -en "\e]P7ffffff"
      clear
  end

这段脚本的运行逻辑:
每次登陆到一个tty进入fish的时候先试着启动vnc
然后往下运行到sudo fbterm fish,递归下一层
进入fbterm发现tty得到的不是tty而是pts
于是执行刷新白色的操作
等到这个fbterm最后exit的时候就回溯到kill %self,
直接把上一层的依赖fish给杀掉,于是退出当前这个tty的登陆
依赖关系为: login - fish - sudo - fbterm - fish

注意,如果最开始登陆的那个tty退出的话,vnc会跟着退出。
因为vnc是依赖于tty运行的,一直运行着的那个vnc:1自然是依赖于最早启动的tty
一旦最早登录的那个tty被退出,vnc:1自然就会被杀掉。

原文地址:https://www.cnblogs.com/stevehawk/p/8445552.html

时间: 2024-10-12 03:20:53

【03】Linux笔记的相关文章

linux笔记 文件的压缩与解压缩gzip、bzip2、xz、zip&unzip、tar打包、tar打包和压缩并用

压缩文件意义节省网络传输带宽,降低磁盘使用率.但会使用一定的cpu. 1.gzip 不支持压缩目录,gzip后直接跟文件名,在当前目录下压缩时,原文件会消失. #gzip filename 指定压缩目录:#gzip -c 123.txt > /tmp/123.txt.gz 将当前目录下123.txt文件压缩到tmp目录下名字为123.txt.gz 解压缩:#gzip -d file.gz #zcat file.gz  查看.gz文件内容 2.bzip2 不支持压缩目录,bzip2后可直接跟文件名

辛星整理的三本linux笔记,免积分下载,希望对您有所帮助

废话不多说了,第一本是我在看李明老师的视频的时候的笔记,全书大约116页,在csdn上的下载地址为:点我下载 ,如果左边的地址崩溃了,也可以在浏览器中输入如下地址然后下载:http://download.csdn.net/detail/xinguimeng/7757985   在百度网盘上的下载地址为:点我去百度网盘,如果左边的地址跪了,也可以在浏览器中输入如下下载地址进行下载:http://pan.baidu.com/s/1pJBdc8N  . 第二本是我在看韩顺平老师讲linux的时候的笔记

linux笔记之grep使用

1.问:grep.egrep是什么? 答:grep是文本搜索工具,grep是根据用户指定的'模式(pattern)'对目标文本进行过滤,显示被模式匹配到的行. 2.问:grep.egrep中用户指定的'模式(pattern)'是什么?分为几类? 答:grep中用户指定的'模式'是一种由特殊字符组成的具有某种特定意义的表达式,我们称为正则表达式,其中的特殊字符我们称为元字符.正则表达式分为:基本正则表达式.扩展正则表达式. 3.问:grep.egrep的使用格式是怎么书写的? 答:grep的使用格

【Linux笔记】cd无法进入xargs管道输出的目录

今天在写shell脚本的时候,想用cd进入xargs管道输出的目录,但是提示报错.详情如下: [环境描述] 目录结构: [[email protected] nagiosclient_db]# ls -ltr total 2488 -rw-r--r--.        1     root   root    405725   Mar  3 14:12   nrpe-2.12.tar.gz -rw-r--r--.        1     root   root    2095419 Mar 

Linux笔记常规部分总结(待续)

Linux笔记常规部分总结 shell: 子shell bash--bash bash: 1.命令历史.命令补全 2.管道.重定向 3.命令别名 4.命令行编辑 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行编辑: 光标跳转: ctrl+a:跳到命令行首 ctrl+e:跳到命令行尾 ctrl+u:删除光标至命令行首的内容 ctrl+k:删除光标至命令行尾的内容 ctrl+l:清屏 命令历史: 查看命令历史:history -c:清空命令历史 -d OFFSET [n]:删除指定位置的

Linux笔记之Makefile

规则: 目标 : 依赖 命令 make是如何工作的: (1)make在当前目录下寻找makefile或Makefile. (2)如果找到,他会寻找文件中的第一个目标文件(target),并把这个文件作为第一个目标. (3)如果目标文件不存在,或者目标文件所依赖的.o文件修改时间要比目标文件新,那么,就会执行后面所定义的命令来生成目标文件. (4)如果目标文件所以依赖的.o文件也存在,那么make会在当前文件中寻找目标为.o文件所依赖性,如果找到则再根据这一规则生成.o文件.(这有些像堆栈的过程.

Linux笔记之终端日志记录工具script

在学习Linux时,有时候终端的打印消息对于我们非常重要,但是终端显示也是有一定的缓冲空间的,当打印信息非常多时,前面的信息就会被覆盖掉,所以这里网上搜索了一下这方面的介绍,现总结如下: script 是一个非常使用的工具,同时也足够的好玩.script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看.script 的好处就在于,你在终端中的所有操作过程,它都可以原原本本地进行录制.我们可以将这种录制应用在很多方面,诸如教学.演示等等. 一般

linux笔记(实验环境搭建)

磁盘和分区 硬盘分区有主分区.扩展分区和逻辑分区之分.一块硬盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区来替换,且一个硬盘只能有一个扩展分区,在这个扩展分区内可以划分多个逻辑分区. 磁盘设备名称如下: — 系统的第一块IDE接口的硬盘称为/dev/hda以此类推.分区则使用数字编号表示.如:/dev/hda1  /dev/hdb2 — 数字编号1~4留给主分区或扩展分区使用,逻辑分区编号从5开始. — SAS/SCSI/SATA/USB接口硬盘的名称均以/dev/sd[a-p]

03.学习笔记-Linux下根目录介绍

本节对linux下的根目录进行详细介绍. /bin:可执行文件 用户命令 /boot:系统启动相关文件 /dev:设备文件 块设备:随机访问 字符设备:线性访问,按字符为单位 显示器和鼠标都是线性访问 设备号:主设备号(major)和次设备号(minor) /etc:系统管理和配置文件 大部分为纯文本文件 /etc/passwd 用户账户信息. /etc/shadow 安全用户账户信息. /etc/group 组账户信息. /etc/gshadow 安全组账户信息. /etc/default/u