1. Thực hiện lệnh cuối cùng với !!
Tiêu đề nói lên tất cả, chỉ cần nhập nội dung sau vào một thiết bị đầu cuối ...
!!
… Để thực hiện lại lệnh cuối cùng đã nhập. Thủ thuật này rất hữu ích khi chúng ta quên nhập sudo lúc bắt đầu. Trong trường hợp đó, bạn sẽ phải nhập:
mồ hôi !!
Để khám phá những cách phức tạp hơn để tận dụng tối đa thủ thuật này, tôi khuyên bạn nên đọc bài cũ.
2. Thực hiện lệnh cuối cùng nhưng sửa lỗi đánh máy
Thủ thuật này thực sự hữu ích khi chúng ta nhập lệnh với một lỗi đánh máy đơn giản. Ví dụ: nếu chúng ta chạy:
tiếng vang "desdelinuxz"
Bạn có thể sửa nó bằng cách nhập như sau:
^z
3. Gọi một trình soạn thảo văn bản nhập một lệnh dài
Đôi khi bạn cần nhập vô số lệnh trong thiết bị đầu cuối. Trong trường hợp đó, một trình soạn thảo văn bản đơn giản như nano hoặc emacs có thể giúp ích.
Để mở trình chỉnh sửa, chỉ cần nhấn Ctrl + x + e trong một thiết bị đầu cuối. Văn bản mà bạn đã nhập cho đến nay sẽ được sao chép vào trình soạn thảo văn bản sau khi nó được mở.
Về phần mình, trình chỉnh sửa được sử dụng sẽ là trình chỉnh sửa được chỉ định trong biến $ EDITOR. Để thay đổi cấu hình này, có thể thực thi ...
xuất EDITOR = nano
… Thay thế nano bằng trình soạn thảo ưa thích của bạn.
4. Thực thi một lệnh mà không lưu nó vào lịch sử
Một hacker chân chính không thể bỏ qua thủ thuật này. Như mọi người đều biết, bash lưu lịch sử các lệnh đã thực thi, rất dễ truy cập bằng cách sử dụng các mũi tên trên bàn phím hoặc Ctrl + R (để thực hiện một tìm kiếm ngược trong lịch sử).
Trong trường hợp này, những gì bạn phải làm để lệnh đã nhập không được lưu trong lịch sử là đặt một khoảng trắng ở phía trước:
chỉ huy
5. Tự động đặt tham số cuối cùng của lệnh
Giả sử lệnh được thực thi trước đó là
cp file.txt / var / www / wp-content / uploads / 2009/03 /
Để truy cập thư mục được đề cập, bạn có thể nhập lệnh cd tiếp theo là Alt +. o Esc +. :
cd 'ALT +.'
Đây chỉ là một cách rút gọn để nhập:
cd / var / www / wp-content / uploads / 2009/03 /
6. Thực hiện một lệnh tại một thời điểm xác định
Vâng, vâng, đó là những gì nó tồn tại cron. Tuy nhiên, đôi khi chúng ta muốn chạy một lệnh để chạy tại một thời điểm nhất định nhưng chỉ một lần.
Giả sử chúng ta muốn thực hiện lệnh ls-l vào nửa đêm. Trong trường hợp đó, chúng ta phải thực thi nó theo cách sau:
echo "ls -l" | vào nửa đêm
7. Lấy IP bên ngoài của bạn
Cảm ơn dịch vụ được cung cấp bởi http://ifconfig.me/ Có thể biết nhiều dữ liệu khác nhau về kết nối Internet của bạn, trực tiếp từ thiết bị đầu cuối:
curl ifconfig.me/ip // Địa chỉ IP curl ifconfig.me/host // Máy chủ từ xa curl ifconfig.me/ua // Tác nhân người dùng curl ifconfig.me/port // Cổng
8. Tìm hiểu cách sử dụng Ctrl + u và Ctrl + y
Đã bao nhiêu lần xảy ra với bạn khi bạn bắt đầu nhập một lệnh và nhớ rằng trước khi cần phải làm điều gì đó khác? Vâng, có thể thực hiện một loại cắt dán để sau này nhập lại lệnh đã để lại một nửa dễ dàng hơn.
Giả sử bạn bắt đầu viết ...
cd / home / user
và bạn nhớ rằng trước khi bạn phải kiểm tra một cái gì đó trong thư mục hiện tại. Trong trường hợp đó nhấn Ctrl + u (Nó sẽ giống như một "vết cắt").
Nhập lệnh cần chạy trước. Giả sử ...
ls-l
... và sau đó nhấn Ctrl + y (Nó hoạt động giống như một "dán").
9. Làm sạch thiết bị đầu cuối dễ dàng
với Ctrl + l thiết bị đầu cuối có thể được làm sạch trong nháy mắt.
10. Đi tới một thư mục, chạy một lệnh và quay lại thư mục hiện tại
Thủ thuật này là một niềm vui. Để thực hiện một loạt lệnh mà không cần rời khỏi thư mục hiện tại, chỉ cần nhóm chúng trong ngoặc đơn. Như hầu hết mọi người đều biết, để thực hiện một loạt lệnh, bạn phải nối chúng bằng cách sử dụng &&. Sử dụng các khái niệm này, chúng ta có thể thực thi một cái gì đó như sau:
(cd / tmp && ls)
Kết quả của lệnh này (chú ý dấu ngoặc đơn) sẽ là danh sách các tệp và thư mục trong thư mục / Tmp. Tất cả mà không cần rời khỏi thư mục hiện tại của chúng tôi. Một viên ngọc quý!
Yapa. Liệt kê các lệnh được sử dụng nhiều nhất
Để xem chúng các lệnh được sử dụng nhiều nhất chỉ cần thực hiện như sau:
lịch sử | awk '{a [$ 2] ++} HẾT {for (i in a) {print a [i] "" i}}' | sắp xếp -rn | cái đầu
Trong trường hợp của tôi, những người chiến thắng là:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 đầu
Đối với những người hâm mộ thiết bị đầu cuối, như máy chủ này, tôi khuyên bạn nên truy cập dòng lệnh. Ngoài ra, tại sao không, đừng ngừng nhìn vào lưu trữ từ blog của chúng tôi.
Có một cái mà tôi đã sử dụng chữ in hoa bị bỏ qua trong inputrc của mình, bởi vì thành thật mà nói thì nhiều tệp bắt đầu như thế này sẽ lọt vào người tôi.
Tôi nghĩ một trong những điều quan trọng nhất là lệnh history trong đó nó trả về một danh sách được đánh số
trong số các lệnh bạn đã sử dụng và nếu bạn muốn sử dụng bất kỳ lệnh nào trong số chúng, chỉ cần sử dụng dòng sau
! 22
điều đó sẽ thực hiện lệnh có trong lịch sử của bạn ở số 22 😀
Để tìm kiếm một lệnh có tính năng tự động hoàn thành là
ctrl + r
Tôi cũng luôn sử dụng Ctrl + r để lặp lại lệnh cuối cùng; khi cái cuối cùng xuất hiện, bạn có thể cuộn lại lịch sử bằng cách nhấn Up Pag (mũi tên lên).
Chúc mừng.
Bài báo hay. Cảm ơn vì đã chia sẻ những Mẹo.
Tôi muốn chia sẻ một cái mà tôi sử dụng hàng ngày là 'fg', cho phép bạn mở các ứng dụng mà bạn đã dừng trước đó bằng 'Ctrl + z'.
Và với 'bg', bạn gửi chúng vào nền 🙂
Nhìn bạn ... hay lắm! Cảm ơn vì đã chia sẻ nó.
Ôm! Paul.
Bài viết xuất sắc, chúng luôn khiến bạn nhớ lại những điều bạn đã biết và cuối cùng đã quên, nhưng điều đó thực sự hữu ích.
Gian lận đầu cuối luôn được chào đón.
Thật kinh ngạc, tôi không biết rằng việc thêm khoảng trắng vào lệnh đã bị bỏ qua khỏi Lịch sử.
Cảm ơn bạn rất nhiều, Xin chào !!
để sử dụng lịch sử lọc tự động hoàn thành, hãy thêm vào tệp $ HOME / .inputrc
"\ E [5 ~": history-search-back
"\ E [6 ~": history-search-forward
và ví dụ tại một số thời điểm bạn đã sử dụng:
$ cd / one / path / long / than / the / shit
và bây giờ bạn muốn sử dụng lại nó, bạn phải làm:
$ cd
và sau đó nhấn phím "Page Up" hoặc "Page Down" để điều hướng qua tất cả các lệnh trong lịch sử bắt đầu bằng "cd".
HOẶC LÀ…. Không cần chỉnh sửa bất cứ thứ gì, hãy nhấn Ctrl + R rồi đến cd (nếu bạn muốn tìm kiếm thứ gì đó bằng 'cd') và bằng cách nhấn Ctrl + R liên tục, bạn sẽ thấy tất cả các lệnh có chứa nó cho đến khi bạn tìm được lệnh bạn muốn. Rõ ràng, nếu nó là cái ngay trước đó, bạn sẽ nhận được một cái.
Rất tốt
Trên thực tế, ls / tmp sẽ đủ để liệt kê thư mục mà không cần rời khỏi thư mục hiện tại.
Bạn cũng có thể nối lệnh bằng cách sử dụng ";" như trong ví dụ n ° 10 nó sẽ như thế này:
(cd / tmp; ls)
Liên quan
Anh ta ";" Nó hoạt động khác với "&&" (và), khi chúng ta thực hiện lệnh-1 && lệnh-2, lệnh thứ hai chỉ được thực thi nếu đầu ra của lệnh đầu tiên là "0", tức là không có lỗi. Trong trường hợp dấu chấm phẩy, lệnh thứ hai được thực hiện bất kể đầu ra của lệnh thứ nhất. Để mở rộng, có toán tử «||» (hoặc), trong trường hợp này, lệnh thứ hai chỉ được thực thi nếu lệnh đầu tiên có lỗi trên đầu ra. Trân trọng.
Vì vậy, mỗi dòng ghi nhớ lịch sử có ngày và giờ, có một biến môi trường trong ~ .bashrc của người dùng bình thường hoặc người chủ.
# nano .bashrc
xuất HISTTIMEFORMAT = »% F% T»
# lịch sử
492 2014-09-02 14:25:57 revdep-tái tạo -i -v
493 2014-09-02 14:31:14 eclean-dist -d
494 2014-09-02 14:31:23 localepurge -v
495 2014-09-02 14:31:29 vv-cập nhật
496 2014-09-02 14:31:54 nổi lên –depclean –pretend
497 2014-09-02 14:39:08 cập nhậtb
Có nhiều tùy chọn hơn, dành cho số lượng dòng nó tiết kiệm được, tôi đang thử nghiệm chúng.
Bài rất hay. Thực sự rất hữu ích. Thủ thuật số 4, thực hiện một lệnh mà nó không được lưu trong lịch sử, chỉ hoạt động với tôi trong Ubuntu, không phải trong Debian, cũng như trong Centos.
Nó làm việc cho tôi trên raspbian chứ không phải trên vòm.
Merveilleux!!
Xin chào,
đặt khoảng trắng trước khi thực thi lệnh để nó không được đăng ký trong lịch sử, vì nó không hoạt động ...
[user @ host /] $ ls -l
Tổng số 104
dr-xr-xr-x. 2 root root 4096 ngày 21 tháng 03 55:XNUMX bin
dr-xr-xr-x. 5 root root 3072 khởi động ngày 20 tháng 17 26:XNUMX
drwxr-xr-x. 2 root root 4096 9 thg 2013, XNUMX cgroup
[user @ host /] $ history
1024 ls
1025 ls
1026 lịch sử
1027 ls -l
1028 lịch sử
bài báo thú vị..
lời chúc mừng
Xin lỗi, vì không đọc hết các bài viết,
Bài kiểm tra cũng được thực hiện bằng centos.
Tốt với Ctrl + U và Ctrl + Y.
Trên hệ thống của tôi, danh sách các lệnh được sử dụng nhiều nhất đã phù hợp với tôi bằng cách thay đổi biến thành $ 5.
Ví dụ đầu ra:
1122 sudo
362 ls
Rõ ràng
214 cd
142 đào
141 sữa chua
130 vnstat
122 mv
112 thấy
112 lịch sử
Điều này là do trong tệp .bashrc của tôi, tôi có dòng sau:
# Hiển thị ngày cho lệnh lịch sử
xuất HISTTIMEFORMAT = '% F% T:'
Tôi gần như chắc chắn rằng nhiều người ở đây đã sử dụng nhiều thiết bị đầu cuối cùng một lúc.
Bây giờ, tôi không biết có nên nói với bạn rằng đó là một thủ thuật đầu cuối hay không, nhưng vì tôi thường có nhiều cửa sổ hoặc sử dụng màn hình để mở một số thiết bị đầu cuối, điều này cho phép bất kỳ lệnh nào được nhập vào một trong các thiết bị đầu cuối đó, vì nó sẽ được phản ánh trong tất cả.
Điều này có trong tệp .bashrc:
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorespace: bỏ qua
lịch sử () {
_bash_history_sync
lịch sử nội trang "$ @"
}
_bash_history_sync () {
lịch sử nội trang -a # 1
HISTFILESIZE = $ HISTSIZE # 2
lịch sử nội trang -c # 3
lịch sử nội trang -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Đóng góp rất tốt! Cảm ơn vì đã vượt qua.
Ôm! Paul.
Xin chúc mừng về bài viết.
Rất thực tế và tôi đã học được một vài lệnh.
Mặc dù tôi đã có phần “kinh nghiệm” trong những vấn đề này, nhưng những thủ thuật này vẫn luôn được đánh giá cao, vì vậy… cho cái hòm của mánh khóe !!!
tuyệt vời, cảm ơn vì các thủ thuật, chúng thực sự hữu ích 😀
Các đường dẫn của bảng điều khiển không thể khám phá được 😉
Thủ thuật nhấn control + u và control + y không phụ thuộc vào shell mà phụ thuộc vào cấu hình mà tty có. Cho đến ngày nay dưới thời Linux, tty là những thực thể rất phức tạp, trên thực tế, tôi đã nghiên cứu hoạt động của chúng và tôi có thể đảm bảo rằng chúng có nhiều nội dung hơn người ta tưởng. Các tty có một số ký tự điều khiển thay đổi trạng thái của chúng, ví dụ như đôi khi nó đã xảy ra với tôi khi tôi tạo tệp nhị phân và sau khi tất cả "rác" xuất hiện trên màn hình, lời nhắc là lạ hoặc với một mã khác. Điều này là do trong một tệp ngẫu nhiên có xác suất cao gặp phải các ký tự điều khiển tty.
Ví dụ: chạy điều này trong một trình bao:
in '33c'
Điều đó sẽ xóa màn hình (như thể bạn chạy rõ ràng).
Các tổ hợp khác, chẳng hạn như điều khiển + L để xóa màn hình đến từ vỏ đang được sử dụng, các vỏ cổ điển / bin / sh thường không mang lại tính năng này.
Ngoài ra, ngày nay có rất nhiều tùy chọn phức tạp để xử lý tệp và ổ cắm trong Linux. Ví dụ: nếu bạn mở thiết bị tty bằng open (), ở chế độ AIO (Đầu vào / Đầu ra không đồng bộ), quá trình sẽ nhận được một SIGIO mỗi khi có dữ liệu trong bộ đệm đầu vào.
Ví dụ: nếu bash hoạt động đơn giản bằng cách đọc các dòng và thực hiện các lệnh (như khi thực thi script), thì khi nhấn control + L, chuỗi ký tự này sẽ chỉ được đưa vào như một phần của các lệnh, nhưng vì bash có quyền điều khiển của bộ đệm của đầu vào có thể phát hiện ra nó.
Ví dụ, đôi khi khi lập trình, tôi sử dụng fcntl để lấy bộ đệm đầu vào không chặn, bộ đệm này tôi đã sử dụng ngay cả với các thư viện ncurses (thao tác điều khiển tty trước khi bắt đầu ncurses trong chương trình).
Saludos!
Đối với những người không làm việc khoảng trắng lúc đầu và có lẽ để thêm nó vào ghi chú, có một biến gọi là HISTIGNORE nơi ký tự được thêm vào trước một lệnh được cấu hình để nó bị bỏ qua trong lịch sử.
Trong một số cài đặt, biến này không đến từ
Xin chào và bài viết tốt! trực tiếp đến mục yêu thích!
Lưu ý rằng trong các bình luận, tôi cũng thấy một số điều thú vị .. !!
Tất cả thực sự rất hữu ích. Cảm ơn bạn.