1、日常命令
编号 |
操作 |
说明 |
(1) |
cd … |
返回上一级目录 |
(2) |
cd - |
返回上一次目录 |
(3) |
cd或cd ~ |
返回家目录 |
(4) |
cd / |
进入根目录 |
_ |
|
|
(5) |
pwd |
显示当前目录 |
(6) |
ls |
显示当前目录文件 |
(7) |
ls localrepo/ |
显示指定目录的文件 |
(8) |
11 |
查看目录文件的的详细信息 |
(9) |
1a |
查看全部包括隐藏的目录文件 |
(10) |
tree |
查看当前目录文件树 |
(11) |
tree mydir |
查看指定目录的文件树 |
(12) |
touch hello.py |
创建空文件 |
_ |
|
|
(13) |
mkdir mydir |
创建文件夹 |
(14) |
mkdir -p a/b/c |
创建层级目录 |
(15) |
mkdir a/{b,c}/{d,e} |
同一级创建多个文件夹 |
_ |
|
|
(16) |
cp hello.py ~/hel1o2.py |
拷贝文件 |
(17) |
cp hello.py -i hello2.py |
拷贝文件,如果有同名文件询问是否覆盖 |
(18) |
cp hello.py -f hello2.py |
拷贝文件,如果有同名文件强制覆盖 |
(19) |
cp hello.py -n hello2.py |
拷贝文件,如果有同名文件不覆盖 |
_ |
|
|
(20) |
mv hello2. py hellocp.py |
重命名文件 |
(21) |
mv hello.py ~/Desktop |
移动文件 |
(22) |
rm hellocp.py |
删除文件 |
(23) |
rm -rf localrepo/ |
递归删除目录 |
_ |
|
|
(24) |
find ~/Desktop/ -name ‘*.py” |
在指定目录中查找文件 |
_ |
|
|
(25) |
ln -s /usr/bin/python ./mypy1ink |
创建可执行程序的软链接 |
(26) |
alias rrm=‘rm -rf’ |
给命令起别名,需要root权限 |
(27) |
history |
查看命令历史 |
(28) |
clear |
清屏 |
2、速查命令
编号 |
操作 |
说明 |
(29) |
man rm |
查看rm命令的手册解释 |
(30) |
rm --help |
查看rm命令帮助 |
(31) |
info rm |
查看rm命令详细信息 |
(32) |
whereis python |
查找可执行程序 |
(33) |
which python |
查看当前使用的是哪个目录中的python |
3、更多查找
编号 |
操作 |
说明 |
(34) |
find ~ -name ‘*.py’ -exec rm {} ; |
查找家目录 下所有的py文件并删除,{}与exec结合匹配所有文件 |
(35) |
find ~ -name ‘*.py’ -exec chown wife {} ; |
查找家目录下所有py文件并将所有权转让给wife用户 |
(36) |
find ~ -name ‘*.py’ -exec cat {} ;> record.txt |
查找文件并将全部内容拼接并写入文件中 |
(37) |
find ~ -name ‘*.py’ -exec cp {} mydir ; |
查找文件并拷贝到指定目录 |
_ |
|
|
(38) |
grep ‘def.*’ a.py |
在a. py中查找指定内容 |
(39) |
grep "def.*’ a.py b.py c.py |
在多个文件中寻找指定内容 |
(40) |
grep -V ‘def.*’ a.py |
在a. py中查找指定内容以外的内容 |
(41) |
grep -i "HELLO’"a.py |
在a. py中查找指定内容并忽略大小写 |
(42) |
grep -E '“1-9]+” a.py |
在a. py中查找正则表达式匹配的内容(匹配到多个数字) |
(43) |
grep -F “[1-9]+” a.py |
在a.py中查找纯文本内容 (严格匹配字符串”[1-9]+" ) |
(44) |
grep -e “def." -e "class.” a.py |
在a.py中查找多个内容 |
(45) |
grep “text” ./ -r -n |
在当前目录下递归查找内容 |
4、系统管理
编号 |
操作 |
说明 |
(46) |
poweroff |
关机 |
(47) |
reboot |
重启 |
(48) |
shutdown -h 12:00 |
定时关机 |
(49) |
shutdown -h now |
立刻关机 |
(50) |
shutdown -C |
取消定时关机 |
_ |
|
|
(51) |
top |
显示所有系统任务 |
(52) |
free -m |
查看内存占用,以M为单位 |
(53) |
uname -a |
打印操作系统信息 |
(54) |
uptime -p |
查看系统运行时间 |
(55) |
echo $PATH |
查看环境变量 |
(56) |
export PATH=$PATH: /home/sirouyang/Desktop/ |
追加环境变量 |
(57) |
lsof | head -n 10 |
查看进程打开的文件(- 切皆文件,数据文件、网络连接、硬件设备) |
_ |
|
|
(58) |
time lsof |
统计命令执行时间 |
(59) |
cal/data |
查看日历和时间 |
(60) |
data +%y-%m-%d-%H-%M-%S |
格式化地查看时间 |
_ |
|
|
(61) |
# 0-6 |
0停机-1单用户安全模式-2多用户安全模式-3多用户网络模式-4系统保留级别- 5图形界面-6重启 |
(62) |
runlevel |
显示当前运行级别 |
(63) |
init6 |
切换运行级别到6级 |
5、软件安装
编号 |
操作 |
说明 |
(64) |
sudo apt update |
更新软件源 |
(65) |
sudo apt install python-pip |
安装pip |
(66) |
configure |
源码包中执行配置 |
(67) |
make clean |
清除一 些编译的垃圾 |
(68) |
make |
执行编译 |
(69) |
make install |
安装 |
(70) |
make uninstall |
卸载 |
6、文本操作
编号 |
操作 |
说明 |
(71) |
cat hello.py |
查看文件 |
(72) |
gedit hello.py |
使用gedit查看文件 |
(73) |
head -n 10 hello.py |
查看前10行 |
(74) |
tail -n 10 hello.py |
查看后10行 |
(75) |
less hello.py |
一次查看少量内容,PageUp和PageDown键翻页 |
(76) |
vim hello.py |
使用vim打开文件 |
7、压缩与解压
编号 |
操作 |
说明 |
(77) |
tar -cvf /home/abc. tar /home/abc/* |
只打包, 不压缩(c=创建压缩包,v=打印信息,f=指定文件名) |
(78) |
tar -zcvf /home/abc .tar.gz /home/abc/* |
打包, 并用gzip压缩 |
(79) |
tar -jcvf /home/abc. tar.bz2 /home/abc/* |
打包,并用bzip2压缩 |
(80) |
tar -xvf abc.tar |
解压普通tar包(x=解压缩) |
(81) |
tar -zxvf abc. tar.gz |
解压gz压缩包 |
(82) |
tar -jxvf abc. tar. bz2 |
解压bz2压缩包 |
(83) |
zip xx.zip ./* |
压缩 |
(84) |
unzip xxx.zip |
解压zip压缩包 |
(85) |
gzip -rv abc |
将abc文件夹下的内容递归压缩打gzip压缩包 |
(86) |
gzip -d abc/* |
将abc下的所有内容解压缩 |
8、磁盘管理
编号 |
操作 |
说明 |
(87) |
df -h |
查看磁盘使使用情况 |
(88) |
sudo du ~h |
查看用户目录的磁盘使使用情况 |
(89) |
du -sh |
当前目录的总体使用情况 |
(90) |
du abc.tar.gz abc.tar |
查看文件和目录的磁盘占用 |
(91) |
dd if=/dev/zero of=temp.txt bs=1K count=1024 |
备份数据 |
9、登陆日志
编号 |
操作 |
说明 |
(92) |
last |
查看用户近期登陆情况 |
(93) |
last -2 |
最近登陆的两个用户 |
(94) |
last -2 root |
查看root用户最近两次登陆情况 |
(95) |
id |
显示用户及其群组信息 |
(96) |
groups |
查看当前用户所加入的组 |
(97) |
whoami |
显示当前用户名称 |
10、用户权限
编号 |
操作 |
说明 |
(98) |
groups |
查看用户所处的工作组 |
(99) |
whoami |
查看当前用户的名称 |
_ |
|
|
(100) |
sudo usradd -m wife |
新建wife用户,-m-自动创建家目录 |
(101) |
sudo useradd -d /home/myson -m son |
创建son用户,指定其家目为home/myson |
(102) |
sudo useradd -g guests -G root,adm -m him |
创建him用户,属于group组, 其也属于adm, root组 |
(103) |
sudo useradd -G guests,sudo -m -s /bin/bash mywife |
新增一个用户,自动创建家目录,-s指定bash |
(104) |
userdel rose |
删除rose账号 |
(105) |
userdel -r rose |
删除用户及相关目录下的文件(/etc/passwd,/etc/shadow,/etc/group等) |
(106) |
usermod -s /bin/ksh -d /home/z -g developer him |
修改him用户的shell.家目录、所属组等信息 |
(107) |
sudo passwd |
修改自己的密码 |
(108) |
sudo passwd mywife |
修改mywife的密码 |
(109) |
su - mywife |
切换用户 |
(110) |
sudo su |
切换到root用户 |
_ |
|
|
(111) |
sudo groupadd guests |
添加guests组 |
(112) |
sudo groupadd -g 101 group1 |
添加组group1, 识别号为101 |
(113) |
groupdel group1 |
删除组 |
(114) |
groupmod -g 10000 -n group3 group2 |
将组group2的标识号改为10000,组名修改为group3 |
(115) |
gpasswd -a u1 g1 |
将u1加入到g1组 |
(116) |
gpasswd-du1g1 |
将u1退出g1组 |
(117) |
gpasswd -A u1 g1 |
将g1组的管理员指派给u1 |
_ |
|
|
(118) |
chmod 421 hello.py |
设置自己、用户组、其他人的权限分别为只读、只写、只执行 |
(119) |
chmod atr ,u+wx,g+X,0-wx hello.py |
详细修改全部用户、拥有者、用户组、其他人的权限 |
11、网络管理
编号 |
操作 |
说明 |
(120) |
ifconfig |
查看网卡状态 |
(121) |
ping 192. 168.59.129 |
检查网络是否连通 |
(122) |
wget “http:/download.redis.IO/releases/redis-4.0.9.tar.gz” |
下载redis |
(123) |
netstat -at |
列出所有TCP端口 |
(124) |
netstat -r |
显示路由表 |
(125) |
netstat -i |
显示接口列表 |
(126) |
netstat -tpnl |
查看已连接的TCP端口和程序名 |
(127) |
netstat -anp |
grep 3306 -C |
12、进程管理
编号 |
操作 |
说明 |
(128) |
ps-ef |
查看所有进程 |
(129) |
ps -ef |
grep redis |
(130) |
kill -9 77157 |
强行关闭指定pid的进程 |
(131) |
kill -15 77157 |
终止指定进程 |
13、远程登陆
编号 |
操作 |
说明 |
(132) |
sudo apt-get install openssh-server |
安装openssh-server |
(133) |
sudo ps -ef grep ssh |
查看SSH服务是否启动 |
(134) |
sudo service ssh start |
如果没有启动则启动SSH服务 |
(135) |
ssh [email protected] |
访问远程主机 |
(136) |
exit |
退出远程访问 |
_ |
|
|
(137) |
scp -r [email protected]. 158.129:/abc /home/wife/Desktop/ |
从远程主机拷贝内容到本地 |
(138) |
scp -r /abc [email protected] .158.129:/home/sirouyang/Desktop/ |
从本地拷贝内容弄到远程主机 |
_ |
|
|
(139) |
ssh-keygen -t rsa |
生成ssh秘钥对 |
(140) |
scp ~/ .ssh/id_ rsa. pub [email protected] .158.129:/home/sirouyang/ .ssh/ |
上传公钥给远程主机 |
(141) |
ssh sirouyang@192. 168.158.129 |
ssh登录远程主机 |
(142) |
cat Desktop/id_ rsa.pub >> ~/ .ssh/authorized_ keys |
操作远程主机添加公钥认证(今后远程对本地ssh免密) |
(143) |
ssh-copy-id [email protected] .158.128 |
让远程持有自己的公钥(对方不必添加公钥到authorized_ keys) |
注意:ssh公钥交换过程:远程主机持有本地的公钥时,ssh以及scp可以免密执行。
14、其他命令(更新中)
编号 |
操作 |
说明 |
(144) |
ls -i /usr/bin/python |
查看文件的inode |
(145) |
1n /usr/bin/python ./phln |
创建硬链接(共享文件入口) (硬链接不能跨磁盘) |
(146) |
source ~/ . bashrc |
使修改后的bashrc生效 |