Linux下常用命令及用法(持续更新中)
内部命令用:help 命令
外部命令用:命令 --help
*""双引号为弱引用,进行内部变量替换
''单引号为强引用,不进行内部变量替换
``反引号为命令执行结果的引用
cat /dev/null > bigfile
\> bigfile: 用于删除占用空间的大文件。
\> 把STDOUT重定向到文件
2> 把STDERR重定向到文件
&>
( cal 2007 ; cal 2008 ) > all.txt
dd if=/dev/zero of=/data/bigfile bs=1M count=1024
快捷键:
ATL+R
CTRL+A
CTRL+E
CTRL+U
CTRL+K
CTRL+W
常用环境变量
PS1
PWD
OLDPWD
HISTSIZE
HISTFILE
HISTCONTROL (ignoredups ignorespace ignoreboth)
HISTTIMEFORMAT="%F %T "
HISTIGNORE="str1:str2\..."
PATH
SHELL
~- 前一个工作目录
~+ 当前工作目录
man 7 glob
[:print:]:可打印字符
[:cntrl:]:控制(非打印)字符
[:graph:]:图形字符
[:xdigit:]:十六进制字符
目录:一个目录是目录下的文件名和文件inode号之间的映射
systemctl stop firewalld
systemctl diable firewalld
systemctl get-default
systemctl set-default multi
更改主机名
vim /etc/hosts
vim /etc/sysconfig/network
**
习题:
-
只显⽰/root下的隐藏⽂件和⽬录
ls -d /root/.* -
只显⽰/etc下的⾮隐藏⽬录
ls -d /etc/[^.]*/ -
拷贝jincheng家目录到/tmp目录下,删除内部的隐藏文件和非隐藏文件(无法一次性删除目录下的文件还保留目录,只能分两次删除或者直接一次删除目录)
cp -av /home/jincheng /tmp
rm -rf jincheng/.[^.]
rm -rf jincheng/ -
每天将/etc/目录下所有文件,备份到/data独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd,备份过程可见
cp -av /etc/ /data/backup`date +%F` - (1) 如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b
mkdir -pv /testdir/dir1/{x,y}/{a,b}
a
alias cdnet='cd /etc/sysconfig/network-scripts'
b
bc
obase=2
96
1100000
ibase=16
10011001
basename /etc/profile.d/env.sh
c
chvt [1-6]
command ls
cd [~][hejincheng]
cd -
cal 9 1752
cat /etc/redhat-release
cat .bash_history
clock -s|-w
cat /etc/profile.d/env.sh
cat /etc/shells
cat /proc/meminfo
cat ~-/issue:前提是从/etc切换出来的文件夹,查看issue
cat < f1 > f1 清空文件内容
cat < f1 >> f1 无限循环写入f1内容至f1
cat > file1 << EOF 生成文档放入file
cp [OPTION]... -t DIRECTORY SOURCE...
cp -i|-n|-r,-R|-a=-dR --preserv=all|-v|-f|-d|-p
cp -a用于备份文件
cp f1 ~wang/wang.txt
cp -f wang.txt root.txt
cp -avu /etc/profile.d /data/profile.d 用于备份文件夹,覆盖时会根据源文件夹内的文件新旧决定是否覆盖目标文件夹里的文件。
cp -b 目标存在,覆盖前先备份,
cp -b --backup=numbered 覆盖前先备份加数字后缀
cp /etc/hosts{,.bak} 快捷备份
cp /etc/hosts /data/f1
chpasswd
批量修改用户口令
chpasswd < passwd.txt
[email protected] /]#cat passwd.txt
nginx:magedu
varnish:magedu
scp /etc/issue [email protected]: 远程拷贝,前提知道wang的用户名和密码
d
date
date +%F
date 030614312019.55
date -d @1551853999
date -d "-2 day" +%F
date -d "yesterday" +%F
date -s "2019-03-06 14:20:55"
date -s "1 year"
date "+%Y-%m-%d %H:%M:%S %B %A %b %a"
------- 2019-03-06 14:41:23 March Wednesday Mar Wed
date +"%F %T"
------- 2019-03-06 14:45:17
df -h
dd if=/dev/zero of=/data/kk bs=1M count=1024
dirname /etc/profile.d/env.sh
diff foo.conf foo2.conf
diff 命令的输出被保存在一种叫做“补丁”的文件中
----使用 -u 选项来输出“统一的(unified)”diff格式文件,最适用于补丁文件
----diff -u foo.conf foo2.conf > foo.patch
du -sh /*
e
echo {a..z} | tr " " "\n"
echo -n|-e "abc\t|\v|\n|\rbac"
echo $PATH
echo ${SHELL} :括号可有可无
echo "alias bkmysql='cp /etc/my.cnf /hoem/my.cnf.bak'" \>> ~/.bashrc
echo "- - -" > /sys/class/scsi_host/host2/scan 添加新硬盘后执行
echo ngnix tomcat | xargs -n1 userdel -r :逐一删除ngnix tomcat
enable -n type
export LANG=EN
exec 8<>/data/hosts :人为分配系统标识符
exec 8>&- :删除标识符
exit
f
free -h
fdisk -l
file [options] <filename>...
-b 列出文件辨识结果时,不显示文件名称
-f filelist 列出文件filelist中文件名的文件类型
-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符
-L 查看对应软链接对应文件的文件类型
--help 显示命令在线帮助
find /usr -not ( -user root -a -user bin ) -exec ls -lh {} \;| more
g
grep
--color=auto: 对匹配到的文本着色显示
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行
-I 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系
grep –e ‘cat ’ -e ‘dog’ file
-w 匹配整个单词
-E 使用ERE
-F 相当于fgrep,不支持正则表达式
-f file 根据模式文件处理
h
hwclock -s|-w
hostname
help
hexdump -c /data/kk
hash
halt
history
i
init 0 3 5 6
id -u root
ifconfig
info
j
k
l
ls
ls -a|-A|-R|-ld|-lSl|-r|-lt
ls -utl:根据访问时间atime进行新旧排序
ls -X:按照文件后缀排序
ll -d /data
ll /bin和ll /bin/显示不一样,仅针对链接文件
ls -1 排成竖排显示
ls -t:按照修改时间mtime排序
ls -U:按照放入目录的顺序来排序
ll /proc/$$/fd 查看系统内置标识符
\ls
'ls'
ldd /usr/bin/ls
ltrace 查看库
lsb_release -a 查看操作系统版本
lsblk
ln filename [linkname ]
ln -s filename [linkname]
m
man
mandb
makewhatis
mv -i|-f|-b
mkdir -pv /data/1/2/3/4/5 创建一连串的目录
mkdir -pv testdir/dir1/{x,y}/{a,b}
mkdir -m MODE
mail -s "Please Call" [email protected] <<END
------------------------>
n
nmap -sP 172.18.120.0/24 | grep -B1 'Host is up'| grep for | cut -d" " -f5 172.18.120.7
o
p
poweroff
PS1="\[\e[1;31m\][\[email protected]\h \W]\\$\[\e[0m\]" 红色提示
pwd -P(如在/bin目录内,使用可显示链接到的文件夹)
passwd
patch
复制在其它文件中进行的改变(要谨慎使用)
适用 -b 选项来自动备份改变了的文件
patch -b foo.conf foo.patch
q
quit
r
rm -r
rm -rf ./*
reboot
rm -rf .bash_history
rm -- -h 删除带-的文件
尽量把rm定义成别名 如alias rm="mv -t /data/"
rmdir -pv
rz
rename "conf" "conf.bak" file*
readlink /etc/grub2.cfg
runlevel
s
shutdown -r|-h|-c +NUM|now "it will be reboot the computer after 5 minutes,please save your work."
source
screen -S helpme
screen -x helpme (剥离会话 Ctrl,a + d)
screen -r(只能会话里无人才能重返会话)
screen -ls
seq -s + 100|bc
set +|-C 启用或禁用覆盖已有内容文件 >| file 强制覆盖
strace
startx
stat
[[email protected] ~]#stat /tmp
File: '/tmp'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 802h/2050d Inode: 67160136 Links: 12
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:tmp_t:s0
Access: 2019-03-18 10:53:29.389902549 +0800
Modify: 2019-03-18 10:54:32.727901428 +0800
Change: 2019-03-18 10:54:32.727901428 +0800
Birth: -
sz
sosreport
shred -zvu -n 6 hosts:粉碎文件,彻底覆盖6次0
t
tty
type cd
touch {a,m,z}.{txt,log}
touch date -d "yesterday" +%F
.log
touch /root/kk /root/mm--->!:gs/root/tmp 快捷全局替换root为tmp
touch /tmp/kk /tmp/mm---->^tmp^data:仅替换第一个tmp为data
tail -f /var/log/messages
timedatectl status
timedatectl set-timezone Europe/Zurich
tzselect-----设置完毕后不生效,需要写配置文件,
---->echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile
----->source /etc/profile 同步成功
tree -d|-L LEVEL|-P
touch
-a
-m
-t [[CC]YY]MMDDhhmm[.ss]
-c
tr [OPTION]... SET1 [SET2]
-c –C --complement
-d --delete
-s --squeeze-repeats
-t --truncate-set1
u
uname -r
unalias cdnet='cd /etc/sysconfig/network-scripts'
v
w
whoami
who
who -r
w
wall
which cd
which
which --skip-alias ls
whatis cd
whereis cd
x
y
z
转载于:https://blog.51cto.com/5033330/2360437