Hot answers tagged ls
Short answer: ls -l gives the size of the file (= the amount of data it contains) ls -s --block-size 1 gives the size of the file on the file system Let's create two files: A sparse file of 128 bytes length (A sparse file is a file containing empty blocks, see Sparse File): # truncate -s 128 f_zeroes.img # hexdump -vC f_zeroes.img 00000000 00 00 00 ...
dir and ls are part of coreutils and dir is an alias. The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system. These are the core utilities which are expected to exist on every operating system. info dir says: dir is equivalent to ls -C -b; that is, by default files are listed in columns, ...
If you want to move ABC-IDENTIFIER-XYZ.ext or IDENTIFIER-XYZ.xml, you can use: mv *IDENTIFIER* ~/YourPath/ * is a wildcard for zero or more characters, this means zero or more characters, followed by IDENTIFIER, followed by zero or more characters. This will move all the files that contain the IDENTIFIER you specified.
There's no straightforward equivalent in ls itself, but there's the less utility, which will format the output of any command as seperate pages, scrollable by line or page: ls -C | less Where -C triggers column display. Use lah as arguments (ls -lah) to get a line by line display with all files being displayed (include hidden ones), and human readable ...
tree will be very convenient for you. sudo apt-get install tree using tree filepathto list the files.
You could use mv -t DESTINATION file1 file2 file3 and mv -t DESTINATION `ls|grep IDENTIFIER` works, but I'm not sure if mv is invoked multiple times or not as grep will output a new line for each match.
If you are just using ls with no arguments, it appears that you are using an alias for ls. To get the same output, I need to use ls -lF. From the ls manpage: -F, --classify append indicator (one of */=>@|) to entries -l use a long listing format The symbols mean the following: /: directories @: symbolic links |: FIFOs =: sockets *: ...
karthick@Ubuntu-desktop:~$ ls -n drwxr-xr-x 2 1000 1000 4096 2010-12-02 15:56 Books First Column: drwxr-xr-x It shows file permission. Second Column: 2 It shows the hard link count to that file/directory. Third nd Fourth Column: 1000 1000 It shows UID and GID of the user. Fifth column: 4096 It shows the size. Sixth column: ...
The second column is the number of hard links to the file. For a directory, the number of hard links is the number of immediate subdirectories it has plus its parent directory and itself. $ ls -n total 0 $ touch f1 $ touch f2 $ ln f1 hardlink $ ln -s f2 softlink $ mkdir d1 $ mkdir d2 $ mkdir d2/a d2/b d2/c $ ls -n total 8 drwxr-xr-x 2 1000 1000 4096 ...
Based on your screenshot, it appears that the files are indeed being displayed. It's just that they happen to have the same color as the background so you are not seeing them. Some solutions: 1) (recommended) Change the color scheme: Make sure nothing shares the same color as the background by opening a terminal and go to Edit > Profile Preferences > ...
// is usually the same as /. /// must be the same as /. ls would have shown you that cd // took you to the root directory, the same as cd / does. $ cd / $ ls bin boot dev ... $ cd // $ ls (same as above) The technical way to confirm they are definitely the same directory is: $ cd / $ stat -c "%i" . 2 $ cd // $ stat -c "%i" . 2 they will print the ...
I believe you're talking about indicators presented by ls -F. From the manpage of ls: -F, --classify append indicator (one of */=>@|) to entries [...] --indicator-style=WORD append indicator with style WORD to entry names: none (default), slash (-p), file-type (--file-type), classify (-F) To get an overview of the meaning of these ...
ls -s tells you the allocated size of the file, always a multiple of the allocation unit. ls -l tells the actual size. An easy way to test: echo 1 > sizeTest ls -l --block-size 1 sizeTest -rw-rw-r-- 1 g g 2 Mär 18 15:18 sizeTest ls -s --block-size 1 sizeTest 4096 sizeTest
Parsing ls is a Bad Idea®, prefer a simple find in that case: find . -type l -ls Credits: How do I make the shell to recognize the file names returned by a `ls -A` command, and these names contain spaces?
The command : ls -ld .?* Will only list hidden files . Explain : -l use a long listing format -d, --directory list directory entries instead of contents, and do not derefer‐ ence symbolic links .?* will only state hidden files
ls -d .!(|.) Does exactly what OP is looking for .
ls -alR That's probably the simplest method. I'm just hacking out a find script to give you a touch more control.
According to bash man page: bash scans each word for the characters *, ?, and [. If one of these characters appears, then the word is regarded as a pattern, and replaced with an alphabetically sorted list of file names matching the pattern and from info node for ls The `ls' program lists information about files (of any type, including ...
You say that "ls piped to head takes an awful long time to complete". The cause of this is not ls, but the number of files in your directory. If you have 100,000 files in a single directory, any way of solving this problem would have to get information about all 100,000 files before it could even think about sorting them or printing any output. If it's ...
You can use: find -iname '*.pdf' with ls maybe: ls -lR | grep '/\|pdf$'
shopt -s extglob ## enables extended globbing ls !(*.*) ## matches every file except those containing a dot You will find that doing this will show you the contents of every directory in the working directory. If you don't want this, use: ls -d !(*.*) You can put shopt -s extglob in your ~/.bashrc to have it activated whenever you open a terminal. There ...
Actually both ls and l are equal raja@badfox:~/Pictures$ l des.png Screenshot from 2012-09-22 19:37:03.png Screenshot from 2012-09-22 19:37:11.png Screenshot from 2012-09-22 19:37:12.png Untitled.png raja@badfox:~/Pictures$ ls des.png Screenshot from 2012-09-22 19:37:03.png Screenshot from 2012-09-22 19:37:11.png Screenshot from 2012-09-22 19:37:12.png ...
find . -name *foo* | xargs -r ls -lah That should work.
find /path/ -printf "%TY-%Tm-%Td\t%s\t%p\n" You can play with the printf formatting as much as you like. This gives you a great opportunity to get things formatted the way you need them, which is invaluable if you're using the output in another application. More: http://linux.about.com/od/commands/l/blcmdl1_find.htm For better readability, you can pipe ...
As a one-off command you can do this: LC_COLLATE=C ls Or you can add export LC_COLLATE="C" to your .bashrc to make it permanent (may have unexpected results sorting elsewhere). More information on Ubuntu forums.
You can do it with find only: find . -name '*.xml' . is the current directory. If you need to search in another directory, replace . with the directory path.
Well this drove me mad for five minutes. Change your statement to: convert $(LC_COLLATE="C" ls -w 1000) +append sprite.png For some reason Nautilus doesn't follow the system-wide locale settings so sorts are out of sync. By faking back to the standard, sorts unify. My test harness: $ mkdir test && cd test $ touch ...
Do this: LS_COLORS="mh=44;37" ls -l And you may edit your ~/.profile to change LS_COLORS accordingly. Background This feature was enabled as default in 2008 has been disabled by default in 2009. Somehow the freeze for Ubuntu 10.04 was exactly in between those moments. Using the Git repository of coreutils I see that the commit to revert automatic ...
ls is aliased by default as: ls --color=auto so when ls is in a terminal that supports colour, it uses colour codes. A system() call doesn't happen in a bash session so your aliases aren't evaluated. I'm also not sure what would happen with the automatic detection so I would make it force colourised output by hotwiring the command: system("ls ...
If you just want the files in your current directory (no recursion), you could do echo .[^.]* That will print the names of all files whose name starts with a . and is followed by one or more non-doc characters. Note that this will fail for files whose name starts with consecutive dots, so for example ....foo will not be shown. You could also use find: ...
Only top voted, non community-wiki answers of a minimum length are eligible