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

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

liebian365 2024-11-20 18:21 22 浏览 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权限进行操作。

相关推荐

Linux-常用操作命令介绍(linux常用的命令大全)

1.帮助命令帮助命令1.1help命令语法格式:命令--help作用:查看某个命令的帮助信息示例#ls--help#netstat--help1.2man命令语法格式:man命令...

推荐:一个小而美的Java工具类库(java工具软件)

前言是的,你没看错,没看错,它就是hutool!相信很多做java开发的朋友应该都已经认识并使用过它了,今天带大家再重温一下它都有哪些功能,并以示例来看看hutool是如何简便实现JWT认...

【SpringBoot后端开发】第三部分 Linux操作系统常用命令(3)

创作不易,请帮忙转发、点赞和评论!四、Linux常用命令对于Linux系统来说,中央处理器、内存、磁盘驱动器、键盘、鼠标、用户等都是文件,而Linux系统管理的命令是它正常运行的核心,与之DOS命令类...

linux常用命令在线查询工具(linux常用命令在线查询工具有哪些)

linuxvi编辑器常用命令linux查看iplinuxfind-name查找文件名linuxshelllinux查看端口占用linux删除文件命令linuxcp命令复制文件到另一个...

使用免费绿色工具chfs,将文件夹共享成网盘

需求:业务需求方有个需要将apk包上传到服务器中,通过chfs可以将服务器目录共享出来,可以可以登录后台自行上传apk文件包。本文就教大家三个知识点1.centos7下使用chfs,共享目录。2.使用...

Mysql和Hive之间通过Sqoop进行数据同步

文章回顾理论大数据框架原理简介大数据发展历程及技术选型实践搭建大数据运行环境之一搭建大数据运行环境之二本地MAC环境配置CPU数和内存大小查看CPU数sysctlmachdep.cpu#核数为...

真实案例记录Linux被植入rootkit导致服务器带宽跑满的解决过程

一、关于linux下的rootkitrootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到攻击和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工...

python周期任务调度工具Schedule使用详解

如果你想周期性地执行某个Python脚本,最出名的选择应该是Crontab脚本,但是Crontab具有以下缺点:不方便执行秒级任务。当需要执行的定时任务有上百个的时候,Crontab的管...

Linux 系统日常巡检脚本(shell巡检脚本)

Linux系统日常巡检脚本,巡检内容包含了,磁盘,内存cpu进程文件更改用户登录等一系列的操作直接用就行了。报告以邮件发送到邮箱在log下生成巡检报告。#!/bin/bash#@Au...

Schedule—简单实用的 Python 周期任务调度工具

如果你想周期性地执行某个Python脚本,最出名的选择应该是Crontab脚本,但是Crontab具有以下缺点:1.不方便执行秒级任务。2.当需要执行的定时任务有上百个的时候,Cronta...

celery定时与异步任务详解(定时任务异步执行)

celery简介Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。Celery的架构由三部分组成,消息中间件(messagebroke...

开源免费的定时任务管理系统:Gocron

Gocron:精准调度未来,你的全能定时任务管理工具!-精选真开源,释放新价值。概览Gocron是github上一个开源免费的定时任务管理系统。它使用Go语言开发,是一个轻量级定时任务集中调度和管理...

PHP Laravel定时任务Schedule(laravel定时任务原理)

前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样)。一、首先添加Crontab定时任务,这里只做简单介绍:用命令crontab-e添加如下内容**...

Linux的常用命令就是记不住,怎么办?于是推出了这套教程

1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...

如何定期执行 Python 脚本:5 种常见方法

定期执行任务是自动化工作流程中的重要环节,无论是数据抓取、文件备份,还是定期报告生成,定时运行脚本都可以极大提高效率。本文将介绍五种方法,通过这些方法,你可以轻松设置定期执行Python脚本的任务...

取消回复欢迎 发表评论: