linux

最新文章

Linux使用scp拷贝多个文件到远程服务器

使用scp复制多个文件根据文件传输方向的不同,可以分为两种情况:远程服务器拷贝多个文件到本地本地上传多个文件到远程服务器1、远程服务器拷贝多个文件到本地$ scp username@remote.com:/from/path/\{a,b,c\} ./ 2、本地上传多个文件到远程服务器$ scp foo.txt bar.txt u

useradd命令:新建用户

说明useradd命令有两个功能:新建用户以及修改新建用户的默认值。新建用户useradd命令如果没有-D选项,它会使用命令行指定的值加上系统的默认值来新建用户。它根据命令的选项可能会做:新建用户的主目录(一般建在/home/目录下,当然你也可以指定home目录的路径)给新用户创建一个组(group)修改新建用户的默认值useradd命令如果只使用了-D选项,那么它用来显示系统用于新建用户的默认值

userdel命令:删除用户

说明userdel命令用来删除指定的用户,以及与此用户相关的文件。默认只删除用户帐号,不删除相关文件。语法userdel [options] LOGIN LOGIN:被删除的用户名。选项-f:强制删除用户,即使用户当前已登录,但这是一个危险的操作,可能会导致系统的状态不一致。-r:删除用户的同时,删除与用户相关的所有文件。不指定此选项,默认只删除用户账号。相关文件/etc/gr

passwd命令:修改密码

说明修改用户的密码,以及设置密码的相关信息,包括密码过期时间,清空密码等等。语法passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactived

chpasswd命令:批量修改密码

说明chpasswd命令是以批量的模式更新用户的密码。它会从标准输入里读取账号和密码对列表,然后用这些信息更新用户的密码。其中账号密码对的格式为:username:password如果在文件里,一行一个账号密码对。语法chpasswd [options]选项-c Method:指定加密的方法,可用的方法包括:DES, MD5, NONE以及SHA256/SH

chage命令:修改账号密码的过期信息

说明chage命令用来指定修改密码后密码的有效天数。 系统会根据此值来限定用户必须更改密码的日期。语法chage [options] LOGIN LOGIN:用户名选项-m days: 表示密码可更改的最小天数。-M days: 表示密码有效(可更改)的最大天数-E Date :表示在该日期之后密码失效,格式

newusers命令:批量添加用户

说明newusers命令提供了批量添加或更新用户的功能。它允许从文件或者标准输入读取用户信息,如果用户已存在则更新用户的信息,如果用户不存在则创建新用户。每行定义一个用户的信息,每行的格式需要严格按照/etc/passwd文件定义的格式。格式如下:pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shellpw_name:用户名pw_passwd

logname命令:显示登陆用户名

说明显示当前登录用户的用户名。语法logname [OPTION]选项--help:在线帮助;--vesion:显示版本信息。示例显示登陆用户名$logname demo

pwconv命令:转换密码到shadow文件

说明Linux新建用户和组的信息分别存放在/etc/passwd和/etc/group。这两个文件所有的用户都是可以查看的。/etc/passwd格式如下:$less /etc/passwd [clcaza@majing-web ~]$ less /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bi

Linux检测命令是否存在

兼容POSIX的command如果要兼容POSIX的话可以使用command:command -v <the_command>使用示例:if ! [ -x "$(command -v git)" ]; then   echo 'Error: git

Linux排除特定文件打包压缩文件夹

Linux打包可以使用tar命令。如果要排除目录里的特定文件或文件夹,可以使用--exclude选项。$ tar --exclude='./folder' -zcvf /backup/filename.tgz .--exclude选项需要放在源文件和目的压缩包文件之前。排除多个文件/文件夹$ tar --exclude='./folder' --exclude='./upload/folder2'

Shell脚本boolean类型的使用注意点

推荐使用方式在shell脚本里,推荐按以下方式声明和使用布尔类型。bool=trueif [ "$bool" = true ]; thenif [ "$bool" = "true" ]; thenif [[ "$bool" = true ]]; thenif [[ "$bool" = "true" ]]; thenif [[ "$bool" == true ]]; thenif [[ "$bool

Linux使用iftop实时监控网络流量

在Linux,我们可以使用top来实时监控cpu,内存的使用情况。iftop类似于top,它是用来实时监控系统的网络使用情况,包括监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。安装1、iftop依赖libpcap和libcurses。在CentOS上安装libpcap和libcurses:yum install flex byacc libpcap ncurses ncurs

Linux实时监控磁盘IO工具iotop

iotop和top类似,它是专用于实时监控磁盘的使用状况,包括PID、用户、I/O、进程等相关信息。安装Ubuntusudo apt-get install iotopCentOSsudo yum install iotop使用直接执行iotop就可以。iotop -o:只显示有io操作的进程 -b:批量显示,无交互,主要用作记录到文件。 -n NUM:显示NUM次,

Shell脚本使用curl命令发送JSON数据

在Linux使用命令行工具curl发送JSON数据需要把content-type设置为“application/json”。-H "Content-Type: application/json示例curl -H "Content-Type: application/json" -X POST -d '{"username":"jack","age":10}' http://example.com/

Linux向文件末尾追加内容的几种方法

在Linux,有几种方法可以用来向文件的末尾追加内容。方法一、双大于号>>结合cat把一个文件的内容追加到另外一个文件的末尾:cat 1.txt >> 2.txt结合echo向文件的末尾追加内容:echo "hello" >> 2.txt注意:双大于号">>"表示内容追加,但大于号">"则是覆盖目标文件的内容。方法二、使用命令tee -atee

CentOS Linux SSH秘钥登录配置

登录Linux服务器,除了使用账号密码登录这种方式外,我们也可以使用ssh秘钥来登录。ssh秘钥登录Linux的方法大体是使用rsa生成公私密钥对,其中吧公钥放在服务器上,而私钥存放在客户端。这样可以达到免密登录。一、使用ssh-keygen生成RSA秘钥对$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in

Linux查看及修改系统的资源限制命令ulimit

在Linux,查看系统对资源使用的显示可以使用命令ulimit,其中参数-a会列出所有的资源使用限制。[demo@server ~]$ ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0f

Linux给sudo命令传密码

使用sudo命令时,终端会提示我们输入用户的密码。如果想避免每次sudo都需要密码,有以下方法:echo password | sudo -S rm -rf /tmp/*这个命令表示删除tmp目录下的文件,其中-S表示sudo会从标准输入读取密码。如果密码保存在文件里,可以使用cat读取,如:cat password.txt | sudo -S rm -rf /tmp/*

Linux查看GPU使用情况

Nvidia自带的nvidia-smi命令行工具,可以查看GPU的使用情况:nvidia-smi使用watch指令可以周期监控GPU的使用情况:watch -n 10 nvidia-smi-n选项后面指定执行命令的周期,以s为单位。 显示的信息分为两部分:第一部分:各块GPU使用情况,比如温度,显存,GPU利用率第二部分(Processes):使用GPU的进程及占用显存

Linux查看显卡信息

Linux的lspci命令可以列出目前主机上面的硬件配备,vga则表示显卡。列出显卡信息如下:$ lspci | grep -i vga02:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN Xp] (rev a1)03:00.0 VGA compatible controller: NVIDIA Corporation

CentOS 7 安装Redis 5

redis安装都是通过源码编译安装。安装redis在CentOS 上安装redis分三个步骤:下载,解压,编译$ wget http://download.redis.io/releases/redis-5.0.7.tar.gz$ tar xzf redis-5.0.7.tar.gz$ cd redis-5.0.7$ make注意:这里需要在CentOS上预先安装好gcc。编译成功后,会在redi

Linux 系统用户账号的管理

1. 用户账号的优势 帮助系统管理员对使用系统的用户进行跟踪 控制用户对系统资源的访问 帮助用户组织文件,为用户提供安全保护 2. 添加新的用户添加命令useradd 选项 用户名常用选项-d<目录>, 设置用户主目录,默认值为用户的登录名,并放在 /home 目录下;如果此目录不存在,则同时使用 -m 选项,可以创建主目录。-g<用户组>,指

Linux下gcc的使用

在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件.而gcc则通过后缀来区别输入文件的类别,下面介绍gcc所遵循的部分约定规则. .c为后缀的文件,是C语言源代码文件; .a为后缀的文件,是由目标文件构成的库文件; .C,.cc,.cxx为后缀的文件,是C++源代码文件; .h为后缀的文件,是程序所包含的头文件; .i为后缀的文件

Linux设置命令行ip代理

Linux设置命令行代理 有些场景下需要为系统设置代理,比如OpenCV3在进行cmake编译时需要在线从amazon下载一些第三方包。现在多数同学采用的代理方案应该都是基于socks5协议,而默认的终端工具支持的代理类型都是http或https,所以这里需要socks协议到http协议的转换,转换之后采用终端的代理变量设置http代理即可。 我的系统环境为ubuntu 16.04,其他系统类似

CentOS7启动及排错

UEFi或BIOS初始化,运行POST开机自检 选择启动设备 引导装载程序, centos7是grub2 加载装载程序的配置文件:/etc/grub.d//etc/default/grub/boot/grub2/grub.cfg 加载initramfs驱动模块加载内核选项 内核初始化,centos7使用systemd代替init 执行initrd.target所有

Centos 7搭建Docker环境

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。 卸载旧版本旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本: sudo yum remove

Linux使用halt命令关闭运行中操作系统

halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。 语法 halt [-n] [-w] [-d] [-f] [-i] [-p] 选项说明 -d:不要在wtmp中记录;-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;-i:在halt之前,关闭全部的

Linux文件硬链接和软链接ln命令的使用

ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种:软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。硬链接:我们知道,文件的基本信息都存储在 inode 中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的 inode,从而

Linux vim编辑器的配置及使用

Linux自带的编辑器有nano和vi,但vi编辑器使用起来很不方便,我们需要先下载vim编辑器,它是vi编辑器的升级版,更人性化些,接下来笔者就教大家如何在树莓派系统下安装和配置vim。安装更新apt源:sudo apt-get update安装vim编辑器:sudo apt-get install vim未配置vim时文档的显示无高亮,无行号,必须使用shift+:在命令模式下q退出。vim编

Linux shell脚本拼接字符串变量

在shell脚本里,使用${var}引用变量,在双引号表示的字符串里,${var}会使用变量的值替换,示例如下:foo="Hello"foo="${foo} World"echo "${foo}"> Hello World多个字符串变量:a='Hello'b='World'c="${a} ${b}"echo "${c}"> Hello World

Linux使用shuf命令随机打乱文本文件的每一行

文本文件word.txt示例:theanlinuxubuntulifegoodbreeze使用shuf打乱文件内容 shuf words.txt > shuffled_words.txt注意shuf不会打乱源文件,需要把打乱的内容输出到新的文件中。结果可能为:breezethelinuxanubuntugoodlifeshuf详细使用查看说明

Linux使用awk去掉重复值的几种情况

awk去掉重复的模式如下:!a[$0]++其中$0表示整行,$1表示第一列,$2表示第二列...文件如下:[root@localhost cc]# cat 1.txt adc 1 2 a d a a 3 adf a d b a 3 adf1、去重第一列重复的行[root@localhost cc]# cat test.txt |awk '!a[$1]++{print}' adc 1 2 a d a

Linux使用ifconfig或lspci获取网卡信息

ifconfig和lspci是Linux用来获取网卡最常用的两个命令。ifconfig获取网卡使用ifconfig可以获取到多个设备和设备状态、信息。示例:[cc@localhost~]$ ifconfig      eth0      Link encap:Ethernet  HWaddr 00:0C:29:A4:5A:BF

Ubuntu执行sudo命令时免输密码

执行visudo编辑sudo的配置$ sudo visudo配置文件显示如下:# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this

C或者C++设置Linux CPU affinity亲和性

在C或者C++可以使用sched_setaffinity(2)来设置Linux下 CPU affinity亲和性。如让进程在CPU 0和 CPU 2上跑,代码示例:#define _GNU_SOURCE#include <sched.h>cpu_set_t mask;CPU_ZERO(&mask);CPU_SET(0, &mask);CPU_SET(2, &

获取curl的http response状态码

可以使用以下脚本获取curl请求返回的状态码:curl -w '%{response_code}\n' -so /dev/null $URL其中$URL是一个变量,可以使用实际测试的url替换。如请求百度:curl -w '%{response_code}\n' -so /dev/null https://baidu.com输出结果:302