感谢下面提及的各类URL参考文献的作者!

nproc

是操作系统级别对每个用户创建的进程数的限制,在Linux下运行多线程时,每个线程的实现其实是一个轻量级的进程,对应的术语是:light weight process(LWP)。

lspci 

是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。

lspci  -vv  使得 lspci 以过冗余模式显示更详细的信息

ifconfig  查看和配置网络设备

  • ifconfig eth0 up :启动网卡eth0
  • ifconfig eth0 down  :关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
  • ifconfig eth0 192.168.120.56 :给eth0网卡配置IP地 192.168.120.56

ethtool 查询和设置网卡参数

  • ethtool -i ethX :查询ethX网卡的相关信息

sudo 

就是super-user do,让当前用户暂时以管理员的身份root来执行这条命令。sudo 表示获取临时的root权限命令

查看有哪些用户

  • w
  • who
  • users

查看进程
ps aux | grep “XXX”

查IP地址
ifconfig | egrep "inet.*Bcast.*" | awk '{print $2}' | cut -d ":" -f2

设置root密码
sudo passwd
su root                   #切换用户
https://www.cnblogs.com/qianniao12/p/7745633.html

显示隐藏文件夹
Ctrl+h

scp
https://www.cnblogs.com/likui360/p/6011769.html
举例:
在A服务器上操作,将B(43.224.34.73)服务器上/home/lk/目录下所有的文件全部复制到本地的/root目录下:
scp -r  root@43.224.34.73:/home/lk   /root
在A服务器上将/root/lk目录下所有的文件传输到B(43.224.34.73)的/home/lk/cpfile目录下:
scp -r  /root/lk  root@43.224.34.73:/home/lk/cpfile

生成ssh key

ssh-keygen -t rsa -C "youremail@example.com"

-t   是key的类型

-C 是注释,方便标识认出

用指定的ssh key链接服务器

ssh -i ssh_sfr/.ssh/id_rsa  fshenx@XX.XXX.XXX.XX

配置多个ssh key
https://blog.csdn.net/birdben/article/details/51824788

免密登录

将本机的id_rsa.pub 拷贝追加到fshenx@10.239.145.113的.ssh/authorized_keys 文件中。

下次可以ssh fshenx@10.239.145.113 直接登录

ssh-copy-id -i ~/.ssh/id_rsa.pub fshenx@10.239.145.113

重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
关机命令:
1、halt   立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
三种关机命令的区别和参数: https://blog.csdn.net/jiyanfeng1/article/details/8146139

查看服务状态:

service --status-all

The status is [ + ] for running services, [ - ] for stopped services and [ ? ] for services without a 'status' command.

ls /etc/rc$(runlevel|sed 's/N.//').d|awk '!/K/ {print}'|sed 's/S[0-9][0-9]//'

ls /etc/rc`runlevel|sed 's/N.//'`.d|awk '!/K/ {print}'|sed 's/S[0-9][0-9]//'

运行runlevel得到运行级别,假如得到的结果N 2(中间一个空格),再用sed命令将N和空格替换为空,sed 's/N.//',那个点就是表示任意单个字符,

其实前面得到的结果就是ls /etc/rc2.d,然后再用awk命令排除以K开头的脚本,得到的几乎都是以S开头的脚本,再把S和数字(启动顺序级别)删除掉,

得到的就是最后的服务名称了。

查看JAVA_HOME:

fshenx@fshenx-HP-Compaq-8200-Elite-SFF-PC:~$ which java

/usr/bin/java

fshenx@fshenx-HP-Compaq-8200-Elite-SFF-PC:~$ ls -l /usr/bin/java

lrwxrwxrwx 1 root root 22 11月 14 04:19 /usr/bin/java -> /etc/alternatives/java

fshenx@fshenx-HP-Compaq-8200-Elite-SFF-PC:~$ ls -l /etc/alternatives/java

lrwxrwxrwx 1 root root 46 11月 14 04:19 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

diff两个文件夹,找出不同的文件

diff -Nrq dir1 dir2

-N :如果文件只在其中一个目录中存在,那么他被视为在另一个目录中是空文件

-r  :递归比较子目录

-q :仅报告文件是否相同,不报告详细差异

http://www.cnblogs.com/kuloud/p/3371763.html

用diff命令制作patch

diff -auNr dir1 dir2 > test.patch

应用上面制作的patch

patch -p1 -l < ./test.patch.txt

PS1:制作patch的时候加-u参数,不然应用patch就会报下面的错:

patch: **** Only garbage was found in the patch input.

https://blog.csdn.net/harveofhust/article/details/6425211

PS2:有链接文件时(指向某个目录)出现了下面的提示:

diff: testdiff1/testloop/loop: recursive directory loop

PS3:应用patch的时候加-l 参数,不然可能会因为空白符报错:

Hunk #1 FAILED at 62.

Hunk #2 FAILED at 133.

PS4:diff命令不能处理二进制文件

用命令安装deb包:
sudo dpkg -i bcloud_3.8.2-1_all.deb
然后在终端处运行命令bcloud-gui,来启动百度云客户端
注:dpkg命令无法自动解决依赖关系。如果安装的deb包存在依赖包,则应避免使用此命令,或者按照依赖关系顺序安装依赖包。http://blog.csdn.net/chenzhengfeng/article/details/78246483

查看空文件夹

find -type d -empty

-type 是find命令的一个参数:
-type:查找某一类型文档
b:块设备文档
d:目录
c:字符设备文档
P:管道文档
l:符号链接文档
f:普通文档

修改目录和文件权限

# 对当前目录下所有的子目录及以下目录都设置成为 755权限
find . -type d -exec chmod 755 {} \;

# 对当前目录下的所有文件设置 644的权限。
find . -type f -exec chmod 644 {} \;

du 显示每个文件和目录的磁盘使用空间

https://www.cnblogs.com/DswCnblog/p/5860166.html

$ du -sh    #只显示总和的大小(以K,M,G为单位,提高信息的可读性)
2.7M .
$ du -h --max-depth=1  #输出当前目录下各个子目录所使用的空间 (以K,M,G为单位,提高信息的可读性)
2.7M ./.git
12K ./t
16K ./samples
2.7M .
$ du -a --max-depth=1   #输出当前目录下各个子目录和文件所使用的空间(默认以K为单位)
4       ./.gitignore
4       ./te
4       ./0321.1.bundle
2720    ./.git
0       ./slink
12      ./t
16      ./samples
2764    .

xargs 命令详解,xargs与管道的区别
https://www.cnblogs.com/wangqiguo/p/6464234.html

  • 管道 是实现“将前面的标准输出作为后面的标准输入”
  • xargs是实现“将标准输出作为命令的参数”

fshenx@fshenx-HP-PC:~/code/test/tmp/rebase_t$ cat x
I am x.
fshenx@fshenx-HP-PC:~/code/test/tmp/rebase_t$ cat y
I am y.
fshenx@fshenx-HP-PC:~/code/test/tmp/rebase_t$ echo "x y" | xargs cat
I am x.
I am y.
fshenx@fshenx-HP-PC:~/code/test/tmp/rebase_t$ echo "x y" | cat
x y

查看Linux version

lsb_release -a

查看cpu信息

lscpu

查看Linux 位数(三种都行)

  1. getconf LONG_BIT
  2. echo $HOSTTYPE
  3. uname -a

注:

64位的显示

Linux ps4 2.6.16.46-0.12-smp #1 SMP Thu May 17 14:00:09 UTC 2007 x86_64 x86_64 x86_64 GNU/Linux

32位的显示:

Linux fc6 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686 i686 i386 GNU/Linux

去掉文件中^M的方法

https://blog.csdn.net/shouldnotappearcalm/article/details/64904253

方法1:    dos2unix filename

方法2:    sed -i 's/^M//g' filename

压缩                                                        解压

tar -czvf  XXX.tar.gz   XXX                     tar -xzvf XXX.tar.gz

tar -cjvf  XXX.tar.bz2  XXX                     tar -xjvf XXX.tar.bz2

分卷压缩

tar -czf - dirName | split -b 1G -d - XXX.tar.gz

解压

cat XXX.tar.gz* | tar zxv

/etc/profile,/etc/bashrc 是系统全局环境变量设定
~/.profile,~/.bashrc用户家目录下的私有环境变量设定
当登入系统时候获得一个shell进程时,其读取环境设定档有三步
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如
/etc/profile.d和/etc/inputrc
2然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取
~/.profile,这三个文档设定基本上是一样的,读取有优先关系
3然后在根据用户帐号读取~/.bashrc
至于~/.profile与~/.bashrc的不区别
都具有个性化定制功能
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

重命名,修改文件名后半部分:
BUILD_NUMBER=2
ls *-V6.17.163.zip | while read Line; do name1=`echo "$Line" | sed "s/V6.17.163/$BUILD_NUMBER/" ` ; mv $Line $name1 ;done

touch
1.创建空白的新文件.
2.更新已有文件的时间戳(默认是系统当前时间).
用法是一样的, touch 文件名

Ubuntu 16.04下没有/var/log/messages文件问题解决

https://www.cnblogs.com/EasonJim/p/8413535.html

1.打开/etc/rsyslog.d/50-default.conf删除下面这几条注释

#       news.none;mail.none     -/var/log/debug
*.=info;*.=notice;*.=warn;\
        auth,authpriv.none;\
        cron,daemon.none;\
        mail,news.none          -/var/log/messages

2.sudo service rsyslog restart

ubuntu /var/log/下各个日志文件描述及修复无message文件和debug文件

https://blog.csdn.net/gatieme/article/details/68951962

Ubuntu系统中永久修改主机名hostname:

编辑 /etc/hostname文件,在文件中输入新的主机名并保存该文件即可。

重启系统后,可执行hostname 命令来确认是否修改成功。

/etc/hostname与/etc/hosts的区别:

/etc/hostname中存放的是 主机名

/etc/hosts存放的是 域名与ip的对应关系,域名与主机名没有任何关系

设置静态IP:

https://blog.csdn.net/xiongchun11/article/details/53928149

1. 查看配置:

root@shctsbdb16:~# ifconfig
em1      Link encap:Ethernet  HWaddr 3c:a8:2a:1e:2c:fc
          inet addr:10.239.39.197  Bcast:10.239.39.255  Mask:255.255.255.0
          inet6 addr: fe80::3ea8:2aff:fe1e:2cfc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17919 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1122 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6294004 (6.2 MB)  TX bytes:147188 (147.1 KB)
          Interrupt:16

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
           。。。。。。

root@shctsbdb16:~# netstat -rn            #查gateway
Kernel IP routing table
Destination    Gateway        Genmask        Flags  MSS Window  irtt Iface
0.0.0.0        10.239.39.1    0.0.0.0        UG        0 0          0 em1
10.239.39.0    0.0.0.0        255.255.255.0  U        0 0          0 em1
169.254.0.0    0.0.0.0        255.255.0.0    U        0 0          0 em1
root@shctsbdb16:~#

2. 编辑/etc/network/interfaces:  修改em1相关部分

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto em1
iface em1 inet static
address 10.239.39.197
netmask 255.255.255.0
gateway 10.239.39.1

3. 重启网络

sudo /etc/init.d/networking restart

adduser 和 useradd 区别   https://blog.csdn.net/li_101357/article/details/46778827
adduser

用adduser这个命令创建的账号是系统账号,可以用来登录到我们的ubuntu系统。

1.建立一个新目录作为家目录
2.建立同名新组
3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry之类)
4.从/etc/SKEL目录下拷贝文件到家目录,完成初始化
5.建立新用户的密码
6.如果其存在的话,还会执行一个脚本。

useradd

useradd这个命令创建的是普通账号,并不能用来登录系统。
useradd有大量的参数供我们进行个性化设置

添加用户jenkins并赋予sudo权限:

https://blog.csdn.net/rongku/article/details/50420209

root@shctsbdb16:~# sudo adduser jenkins
root@shctsbdb16:~# ls -l /etc/sudoers
-r--r----- 1 root root 755 May 29  2017 /etc/sudoers
root@shctsbdb16:~# chmod u+w /etc/sudoers
root@shctsbdb16:~# ls -l /etc/sudoers
-rw-r----- 1 root root 755 May 29  2017 /etc/sudoers
root@shctsbdb16:~# vi /etc/sudoers         #在root ALL=(ALL:ALL) ALL  下面添加:  jenkins ALL=(ALL:ALL) ALL
root@shctsbdb16:~# chmod u-w /etc/sudoers

PS1:    用命令把jenkins加入sudo用户组:    sudo usermod -a -G sudo jenkins

  • usermod -G 是指定用户组
  • -G :把用户添加到指定的用户组,但是会自动从其他组中删除。
  • -a :追加,但不会从其他组中删除。可以这样理解:-G修改当前次要组;-G -a是增加新的次要组
  • 其实你也可以直接编辑/etc/sudoers文件

PS2:    给用户组添加sudo权限。方法是修改/etc/sudoers,添加:

%admin ALL=(ALL:ALL) ALL

意思是让admin用户组所有的用户都具有sudo权限

wget

https://www.cnblogs.com/wuheng1991/p/5332764.html

wget 设置代理的几种方法:

https://www.cnblogs.com/frankyou/p/6693256.html

举例:

针对wget工具的代理设置:需配置/etc/wgetrc文件,格式如下:

http_proxy = http://user:pwd@proxy.xxx:8080/
use_proxy = on

针对apt工具的代理设置:需配置/etc/apt/apt.conf文件,格式如下:

Acquire::http::proxy "http://user:pwd@proxy.xxx:8080/";
Acquire::https::proxy "https://user:pwd@proxy.xxx:8080/";
Acquire::ftp::Proxy "ftp://username:password@proxyhost:port/";

rmdir

只能删除空的文件夹

-p, 删除目录和它的祖先    e.g., 'rmdir -p a/b/c' is similar to 'rmdir  a/b/c   a/b   a'

umask -S 查看默认权限

readlink -f XXX
-f 选项可以递归跟随给出文件名的所有符号链接以标准化,除最后一个外所有组件必须存在。
简单地说,就是一直跟随符号链接,直到直到非符号链接的文件位置,限制是最后必须存在一个非符号链接的文件。

dirname 
处理路径,以获取路径的父目录,不会检查路径是否合法。

$ dirname avs_client_app/
.
$ dirname /unexist/path/for/test/
/unexist/path/for

$ dirname -z /unexist/path/for/test/         #dirname -z 输出后不换行
/unexist/path/forfshenx@fshenx-HP-PC:~$

basename

表示移除名称的目录,仅保留文件名

$ basename test/haha.sh
haha.sh
$ basename -s .sh test/haha.sh    #去掉后缀
haha

cat -n  显示行号
cat -s  多个连续空行变成一行

iconv 改变编码方式

sort 排序
uniq 去重

xargs
tr
sudo -S    https://www.cnblogs.com/toughlife/p/5633927.html
watch
du -hd
uname
hash
timeout 在时间内执行

lsblk   : List information about block devices.

lspci -vv | grep -i vol  :查看nvme ssd

cat /etc/redhat-release  : 查看Fedora版本

IOPS : 每秒处理的IO个数

BW   : Band Width  带宽  每秒处理的IO字节数

IOPS * bs ~= BW

IOdepth / latency  ~= IOPS

查kernel版本   uname -r

更新kernel(待验证):

下载到了一份tar.xz结尾的压缩文件:

Kernel download  https://www.kernel.org/pub/linux/kernel/v4.x/

$xz -d ***.tar.xz

$tar -xvf  ***.tar

编译内核步骤:

1 make menuconfig

2 make all -j64

3 make modules && make modules_install

4 make install

Linux常用命令和操作相关推荐

  1. linux的命令名必须是小写英文字母,Linux常用命令及操作

    1.进入shell界面 Linux系统提供的命令需要在shell环境下进行,在桌面环境下,可以利用终端程序进入传统的命令行操作界面,进入方式有多种,如在"开始"菜单中选择" ...

  2. Linux常用命令(日常操作这一篇就够了)

    文章目录 **一.查看资源信息** **1)查看系统运行资源** **查看内存使用量和交换区使用量** **查看各分区情况** **查看指定目录大小** **查看系统运行时间.用户数.负载** **2 ...

  3. linux 常用命令及操作

    Ctrl + Alt + f1 ~ f6,可以在CentOS中切换多个终端.其中f1为默认的图形终端. ctrl a 跳到命令的开头:ctrl e 跳到命令的末尾 上下方向键切换之前的命令 ctrl ...

  4. Linux常用命令-文件操作 网络命令 性能命令

    1.1文件操作命令 改变目录 cd 查看当前路径 pwd创建目录 mkdir /tmp/test创建文件 touch /tmp/a.txt删除文件或文件夹 rm /tmp/a.txt 删除文件 rm ...

  5. linux常用命令和操作笔记

    1.通过程序名字统计当前机子共运行了多少个该程序实例,例如统计当前机子共有多个mosquitto_sub实例: [root@SH-243 ~]# ps -ef | grep mosquitto_sub ...

  6. Linux常用命令,Linux常用命令整理

    Linux常用命令一般可以分为很多种,比如查看硬件信息相关命令就有8个,分别是ifconfig.free.fdisk.ethtool.mii-tool.dmidecode.dmesg.lspci,用于 ...

  7. 超实用 Linux 常用命令

    Shell 详解 Shell 简介 常用命令 BASH 常用快捷方式 Linux 目录结构 Linux 常用命令 目录操作命名 文件操作命令 文件内容操作命令 归档及压缩命令 Shell 详解 She ...

  8. 统信UOS命令大全 麒麟系统命令大全 Linux常用命令操作大全(非常全非常详细) ubuntu命令大全常用操作命令大全

    [腾讯云]云服务器2核4G74元/年,222元/3年 Linux常用命令大全(非常全!!!)适用于 统信UOS 麒麟kylin 系统信息  arch 显示机器的处理器架构 uname -m 显示机器的 ...

  9. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

最新文章

  1. MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解
  2. 使用BCH提供的客户端将消息绑定到任何位置
  3. 【Android 热修复】热修复原理 ( 热修复框架简介 | 将 Java 字节码文件打包到 Dex 文件 )
  4. github建立静态网站,域名解析和跳转
  5. 工程师也是主播界“扛把子”,学员抱紧大腿痴痴等候百度AI快车道下期到来...
  6. nginx源码分析—数组结构ngx_array_t
  7. tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!
  8. 财经数据提取器上线拉
  9. 《机器学习实战》程序清单3-4 创建树的函数代码
  10. u-boot移植随笔:让u-boot shell支持tab、命令历史
  11. ONNX系列三 --- 使用ONNX使PyTorch AI模型可移植
  12. 合宙800 cgnsinf 只回复ok_中奖了吗?老夫妻突然被告知账户多了800多万元!记者去调查,钱又没了!|汉口银行|民政局|低保|周师傅...
  13. springboot 监听所有异常_SpringBoot 全局异常配置及返回自定义页面
  14. 微服务架构与API网关
  15. java多网卡组播,多网卡 组播
  16. Google搜索技巧大全:101个谷歌搜索技巧推荐
  17. 如何判断绝缘接头质量的好坏?
  18. 各层电子数排布规则_电子数的排布规律
  19. saas系统用的什么语音_智能酒店语音控制系统是什么样的?
  20. 数学中最神奇的常数-无理数e的由来

热门文章

  1. 这是你幻想中的女友吗
  2. KMP算法经典应用——“循环节”
  3. 【视频转gif】视频文件转成 .gif,在线且免费
  4. vue日程安排_在Vue项目中用fullcalendar制作日程表的示例代码
  5. 简单介绍长短期记忆网络 - LSTM
  6. 行业洞察 | Web3、AI4Science、机器人,热门赛道全解析...AI商业化受阻,拐点在何方?...
  7. 中国战队Newbee夺DOTA2世界冠军
  8. Zookeeper出现Error contacting service. It is probably not running问题
  9. 2018 AFCTF 可怜的RSA
  10. 嵌入式软件工程师一般都在开发什么?