百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

ubuntu(linux)系统使用技巧总结

suiw9 2024-12-01 04:01 43 浏览 0 评论

1. 修改以太网的名称为eth0;

1)vim /etc/default/grub

查找GRUB_CMDLINE_LINUX=""

  修改为 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

 2)sudo grub-mkconfig -o /boot/grub/grub.cfg

2. 如何修改网络静态IP

1)ubuntu16系统 :

sudo vim /etc/network/interfaces

auto eth0

iface eth0 inet static

address 192.0.2.7

netmask 255.255.255.0

gateway 192.0.2.254


2) ubuntu18系统 :

a.修改/etc/netpan/50-cloud-init.yaml文件:

network:

wifis:

mlan0:

dhcp4: no

addresses: [10.42.73.140/24]

optional: true

gateway4: 10.42.73.254

nameservers:

addresses: [10.42.73.254,114.114.114.114]

access-points:

"AiLian-WiFi":

password: 'ALwx&2021'

version: 2

b. sudo netpan apply 生效;


3.如何修改网络的DNS地址?

sudo vim /etc/systemd/resolved.conf

systemctl restart systemd-resolved.service

………实际步骤如下………

1) 禁用并停止systemd-resolved服务:

先禁用服务: sudo systemctl disable systemd-resolved.service

再停止服务: sudo systemctl stop systemd-resolved

2) 把DNS设置成default

vim /etc/NetworkManager/NetworkManager.conf

在[main]部分中加入

dns=default

删除符号链接/etc/resolv.conf

rm /etc/resolv.conf

3) 重新启动network-manager

sudo service network-manager restart

可以看到即使重启电脑DNS也不会变了


4. 如何启动图形界面:

1)更新软件库 sudo apt-get update

sudo apt-get upgrade

2)关闭用户图形界面,使用tty登录。

   sudo systemctl set-default multi-user.target

   sudo reboot

开启用户图形界面。

   sudo systemctl set-default graphical.target

   sudo reboot

3) ubuntu 16.04 出现failed to start session解决方法

sudo apt-get install ubuntu-desktop;

sudo apt-get install --reinstall ubuntu-desktop

输入sudo service lightdm restart重新启动图形界面


5. vim使用 技巧:

1) vim后出现 如下图片中的error;

vim ~/.bashrc中添加:

TERM=xterm;

export TERM

2)安装ctags(代码查看);

a. sudo apt-get install ctags

b. ctags -R dir/*

c. 打开 vim 后,set tags=path/tags

d. 查看代码命令: ctrl +] (进入 ), ctrl + T(返回);

3)安装taglist工具(函数列表显示)

a. 下载:http://vim.sourceforge.net/scripts/download_script.php?src_id=6416

b. 解压后出现两个文件夹后:unzip taglist_42.zip 出现 doc和plugin;

c. 将其复制到对应的文件夹下就可以

sudo cp doc/taglist.txt /usr/share/vim/vim72/doc/

sudo cp plugin/taglist.vim /usr/share/vim/vim72/plugin/

d. 修改vimrc:

sudo vim /etc/vim/vimrc 在最后加入例如以下内容

"""""""""""""""""Taglist设置"""""""""""""""""

let Tlist_Auto_Open = 1

let Tlist_Ctags_Cmd = '/usr/bin/ctags'

let Tlist_Show_One_File = 1

let Tlist_Exit_OnlyWindow = 1


6. 下载和安装 远程协助软件: teamviewer:

1) sudo apt install gdebi-core;

2) 下载 wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb

3) $sudo gdebi teamviewer_amd64.deb


7. ubuntu18 开机出现“started gnome display manager”卡住的情况:

一般出现这样的问题,不会是显卡驱动的问题,因为已经都启动了,唯一的问题就是有一个分区满了。

可以使用df -h命令来查询磁盘空间,会发现:

  1. 文件系统 容量 已用 可用 已用% 挂载点
  2. udev 32G 0 32G 0% /dev
  3. tmpfs 6.3G 2.0M 6.3G 1% /run
  4. /dev/sda1 469G 12G 434G 3% /
  5. tmpfs 32G 0 32G 0% /dev/shm
  6. tmpfs 5.0M 4.0K 5.0M 1% /run/lock
  7. tmpfs 32G 0 32G 0% /sys/fs/cgroup
  8. /dev/loop0 13M 13M 0 100% /snap/gnome-characters/139
  9. /dev/loop1 15M 15M 0 100% /snap/gnome-logs/45
  10. /dev/loop2 141M 141M 0 100% /snap/gnome-3-26-1604/74
  11. /dev/loop3 35M 35M 0 100% /snap/gtk-common-themes/818
  12. /dev/loop4 2.3M 2.3M 0 100% /snap/gnome-calculator/260
  13. /dev/loop5 91M 91M 0 100% /snap/core/6350
  14. /dev/loop6 3.8M 3.8M 0 100% /snap/gnome-system-monitor/57
  15. /dev/sdb 1.8T 77M 1.7T 1% /home/data
  16. tmpfs 6.3G 0 6.3G 0% /run/user/1000
  17. tmpfs 6.3G 4.0K 6.3G 1% /run/user/121

发现有挂载点是100%,那么只需要清理一下就行。

sudo apt autoremove --purge snapd


8. ubuntu更改用户home目录:

### 先使用useradd添加新用户,再通过usermod -d来修改这家目录;

1)sudo usermod -d /path/to/new/home -m username

####再把需要的家目录重新命名为修改的名称;

2) sudo mv /old/home /new/home

9. Ubuntu16.04 32位 4T大容量磁快速盘格式化方法:

mkfs.ext4 -T largefile /dev/xxx


10. 解决SSH断线后的会话恢复

1)以SSH的方式连接你的服务器

2)安装Screen;

a. debian/ubuntu: apt-get install scree

b. fedora/centos: yum install screen

3) 输入: screen 接管当前会话

4)进行自己需要的任何操作;

5) 如果 SSH掉线后:

重连SSH并输入:

screen -r;恢复会话;

如果有多个会话,可使用screen -l可查所有保存的会话,再根据其会话ID号来进行恢复操作。

补充说明:

screen是一个可以在多个进程(通常是交互式shell)之间复用一个物理终端的全屏幕窗口管理器。

即linux下使用多窗口

常用screen参数

1) screen -S session_name # 新建一个叫session_name的session

2) screen -ls(或者screen -list) # 列出当前所有的session

3) screen -r session_name # 回到session_name这个session

4) screen -d session_name # 远程detach某个session

5) screen -d -r session_name # 结束当前session并回到session_name这个session

进入screen窗口后,想暂时退出(等会还想连接这个screen窗口)crtl+a+d退出当前screen窗口,结束当前screen窗口,不想再连接回来(即杀死会话)exit或者ctrl+d


11. dmesg和/var/log/kern.log之间的区别:

两者都可以查看linux 内核中的Log信息,但有所区别;

1) dmesg用于检查或控制内核环形缓冲区.(默认只显示16KBytes的大小)

dmesg is used to examine or control the kernel ring buffer.
实际上,它将显示自上次引导以来
/var/log/kern.log的最后16392个八位字节.

dmesg 用法:

dmesg [-c] [-r] [-n level] [-s bufsize]

dmesg > boot.messages

OPTIONS :

-c Clear the ring buffer contents after printing.

-r Print the raw message buffer, i.e., don’t strip the log level prefixes.

-s bufsize:Use a buffer of size bufsize to query the kernel ring buffer. This is 16392 by default.

总结说明:

(1)所有系统信息是输出到ring buffer中去的.dmesg所显示的内容也是从ring buffer中读取的.

(2)Linux系统中/etc/init.d/sysklogd会启动2个守护进程:Klogd&&Syslogd

(3)klogd是负责读取内核信息的,有2种方式:

syslog()系统调用(这个函数用法比较全,大家去MAN一下看看)

直接的对/proc/kmsg进行读取(再这提一下,/proc/kmsg是专门输出内核信息的地方)

(4)Klogd的输出结果会传送给syslogd进行处理,syslogd会根据/etc/syslog.conf的配置把log

信息输出到/var/log/下的不同文件中。这样你就能很好的完成Linux日志处理了。

2) . /VAR/LOG/各个日志文件分析:

(1). /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。

(2) . /var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。

(3). /var/log/boot.log — 包含系统启动时的日志。

(4). /var/log/daemon.log — 包含各种系统后台守护进程日志信息。

(5) . /var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。

(6). /var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。

(7). /var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。


12. ubuntu系统如何默认进入命令行模式?

1).如果要每次开机都进入到命令行模式的话,需要在/etc/default/grub里面配置。

GRUB_CMDLINE_LINUX_DEFAULT一行中改为"quiet splash 3"。

2). 保存退出后,使用update-grub命令来基于这些更改重新生成/boot下的GRUB2配置文件。

重启即可进入命令行模式了。

3). 切换回图形界面:

修改/etc/default/grub ,将将GRUB_CMDLINE_LINUX_DEFAULT一行中改为"quiet splash"。

update-grub

13. Linux系统下如何开机自动运行开发的shell文件?

(1)、添加一个新的启动脚本sample_init_script,并且指定为默认启动顺序、默认运行级别(注意:首先要有实际的文件存在于/etc/init.d,即若文件/etc/init.d/sample_init_script不存在,则该命令不会执行):

update-rc.d sample_init_script defaults

上一条命令等效于(中间是一个英文句点符号):

update-rc.d sample_init_script start 20 2 3 4 5 .

stop 20 0 1 6

(2)、安装一个启动脚本sample_init_script,指定默认运行级别,但启动顺序为50:update-rc.d sample_init_script defaults 50

(3)、安装两个启动脚本A、B,让A先于B启动,后于B停止:update-rc.d A 10 40update-rc.d B 20 30

(4)、删除一个启动脚本sample_init_script,如果脚本不存在则直接跳过:update-rc.d -f sample_init_script remove这一条命令实际上做的就是一一删除所有位于/etc/rcX.d目录下指向/etc/init.d中sample_init_script的链接(可能存在多个链接文件),update-rc.d只不过简化了这一步骤。

(5)禁止Apache/MySQL相关组件开机自启:

update-rc.d -f apache2 removeupdate-rc.d -f mysql remove8、服务的启动停止状态通过service,比如:

sudo service xxx status

sudo service xxx start

sudo service xxx stop

sudo service xxx restart 9、

查看全部服务列表sudo service --status-all

14. linux系统下如何同步网络时间?

1)打开终端输入以下命令安装ntpdate工具:

sudo apt-get install ntpdate

2)再输入命令设置系统时间与网络时间同步:

sudo ntpdate http://cn.pool.ntp.org

3) 最后输入命令将时间更新到硬件上即可。

sudo hwclock --systohc


15. Linux系统开机自动加载驱动module的方法:

1). copy the ko文件 to /lib/modules/$(uname -r)/kernel/drivers目录下:

linux系统的驱动默认存放目录为: /lib/modules/$(uname -r)/kernel/drivers,因此如果希望系统可以启动时自动加载驱动必须首先把驱动放到该目录下面,执行完此步操作以后:

2). 直接运行 sudo depmod即可。

/lib/modules/`uname -r`/modules.dep 可查看是否更新了

3) 再执行 depmod 命令更新驱动依赖关系文件 modules.dep(此文件会自动生成),这一步一定要执行。之后我们重启系统,就可以发现驱动会自动加载了。

16. Ubuntu系统下免输入获取root密码的方法

有时在运行自动化的shell脚本时,需要用到root权限,以下方法可免输入获取root密码:

echo 'password' |sudo -S apt-get -y install software1 software2


17. Ubuntu系统如何添加root权限?

方法1: 修改组权限,与管理员在同组,即可获取root权限;

修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉

## Allows people in group wheel to run all commands

%wheel ALL=(ALL) ALL

然后修改用户,使其属于root组(wheel),命令如下:

#usermod -g root 用户名

修改完毕,现在可以用新建的用户名帐号登录,然后用命令 su - ,即可获得root权限进行操作。

方法2: 添加到root用户列表中

修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

新建用户的名字 ALL=(ALL) ALL

修改完毕,现在可以用新建的用户名字帐号登录,然后用命令 su -,即可获得root权限进行操作。

相关推荐

10款超实用JavaScript音频库(js播放音频代码)

HTML5提供了一种新的音频标签实现和规范用一个简单的HTML对象而无需音频插件来控制音频。这只是一个简单的整合这些新的HTML5音频特征及使用JavaScript来创建各种播放控制。下面将介绍10款...

Howler.js,一款神奇的 JavaScript 开源网络音频工具库

o...

PROFINET转Modbus网关——工业协议融合的智能枢纽

三格电子SG-PNh750-MOD-221,无缝连接Profinet与Modbus,赋能工业物联产品概述...

简单实用的Modbus类库,支持从站和DTU

一、简介...

[西门子PLC] S7-200 SMART PROFINET :通过GSD组态PLC设备

从S7-200SMARTV2.5版本开始,S7-200SMART开始支持做PROFINETIO通信的智能设备。从而,两个S7-200SMART之间可以进行PROFINETI...

Modbus(RTU / TCP)有什么异同(modbus tcp和tcp)

Modbus是一种广泛使用的工业自动化通信协议,它支持设备之间的数据交换。Modbus协议有两个主要的变体:ModbusRTU(二进制模式)和ModbusTCP(基于TCP/IP网络的模式)。尽管...

Modbus通信调试步骤详解(modbus调试工具怎么用)

Modbus通信调试步骤详解  Modbus通信分为串口和以太网,无论是串口还是以太网,只要是标准Modbus,就可以用Modbus模拟器进行调试。按以下几步进行调试。...

理解Intel手册汇编指令(intel 汇编指令手册)

指令格式...

「西门子PLC」S7-200 SMART的Modbus RTU通讯

S7-200SMART集成的RS485端口(端口0)以及SBCM01RS485/232信号板(端口1)两个通信端口可以同时做MODBUSRTU主站,或者一个做MODBUSRTU主站一个做MO...

InfiniBand网络运维全指南:从驱动安装到故障排查

一、InfiniBand网络概述InfiniBand(直译为“无限带宽”技术,缩写为IB)是一种用于高性能计算的计算机网络通信标准,具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。它...

一加回归 OPPO,背后的秘密不可告人

有这样一个手机品牌,它诞生于互联网品牌。在大众群体看来,它的身世似乎模糊不清,许多人以为它是国外品牌。它的产品定位是极客群体,深受国内发烧友,甚至国外极客玩家喜爱。...

[西门子PLC] S7-200SMART快速高效的完成Modbus通信程序的设计

一、导读Modbus通信是一种被广泛应用的通信协议,在变频器、智能仪表还有其他一些智能设备上都能见到它的身影。本文呢,就把S7-200SMART系列PLC当作Modbus主站,把...

狂肝10个月手搓GPU,他们在我的世界中玩起我的世界,梦想成真

梦晨衡宇萧箫发自凹非寺量子位|公众号QbitAI自从有人在《我的世界》里用红石电路造出CPU,就流传着一个梗:...

[西门子PLC] 博途TIA portal SCL编程基础入门:1-点动与自锁

一、S7-SCL编程语言简介...

工作原理系列之:Modbus(modbus工作过程)

MODBUS是一种在自动化工业中广泛应用的高速串行通信协议。该协议是由Modion公司(现在由施耐德电气公司获得)于1979年为自己的可编程逻辑控制器开发的。该协议充当了PLCS和智能自动化设备之间的...

取消回复欢迎 发表评论: