赞
踩
感谢下面提及的各类URL参考文献的作者!
nproc
是操作系统级别对每个用户创建的进程数的限制,在Linux下运行多线程时,每个线程的实现其实是一个轻量级的进程,对应的术语是:light weight process(LWP)。
lspci
是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具。
lspci -vv 使得 lspci 以过冗余模式显示更详细的信息
ifconfig 查看和配置网络设备
ethtool 查询和设置网卡参数
sudo
就是super-user do,让当前用户暂时以管理员的身份root来执行这条命令。sudo 表示获取临时的root权限命令
查看有哪些用户
查看进程
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
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 位数(三种都行)
注:
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:16lo 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
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。